Anotaciones de EJB 3.1 y sus equivalentes en los descriptores de despliegue

La tabla siguiente muestra la conversión entre anotaciones de EJB 3.1 y datos XML en el descriptor de despliegue.

Tabla 1. Anotaciones y sus equivalentes en los descriptores de despliegue
Anotación Atributos Descripción Elemento correspondiente del descriptor de despliegue
Anotaciones de EJB (JSR-220)      
@Stateless
java.lang.String     description

 java.lang.String     mappedName

 java.lang.String     name 
Anotación que define el componente para un bean de sesión sin estado. El método isIdentical siempre devuelve true cuando se utiliza para comparar referencias de objeto de dos objetos de sesión del mismo bean de sesión sin estado (es decir, son funcionalmente equivalentes).
<session>--<ejb-name>
<session>--<mapped-name>
<session>--<ejb-class>
<session>--<session-type>

si el tipo anotado implementa alguna interfaz:

<session>--<local>

<session>--<local-home>
@Stateful
java.lang.String     description

 java.lang.String     mappedName

 java.lang.String     name 
Anotación que define el componente para un bean de sesión con estado.
<session>--<ejb-name>
<session>--<mapped-name>
<session>--<ejb-class>
<session>--<session-type>
@Local
java.lang.Class[]     value
Cuando se utiliza en la clase de bean, declara las interfaces empresariales locales para un bean de sesión. Cuando se utiliza en una interfaz, designa esa interfaz como interfaz empresarial local. En este caso, no se proporciona ningún elemento value().
<session>--<local>
@LocalHome
java.lang.Class     value
Declara la interfaz inicial local o la interfaz inicial local adaptada para un bean de sesión.
<session>--<local home>
@Remote
java.lang.Class[]     value
Declara las interfaces empresariales remotas para un bean de sesión. Cuando se utiliza en una interfaz, designa esa interfaz como interfaz empresarial remota. En este caso, no se proporciona ningún elemento value().
<session>--<remote>
@RemoteHome
java.lang.Class     value
Declara la interfaz inicial remota o la interfaz inicial remota adaptada para un bean de sesión.
<session>--<remote home>
@Remove
boolean     retainIfException
Se aplica a un método de negocio de una clase de bean de sesión con estado. Indica que el contenedor debe eliminar el bean de sesión con estado tras la finalización del método.
<remove-method>--<bean-method>

<remove-method>--<retain-if-exception>
@Init
java.lang.String     value  
(El nombre del método de creación correspondiente de la interfaz inicial o interfaz inicial local adaptada)
Designa un método de un bean de sesión que corresponde al método de creación de una interfaz inicial adaptada o de una interfaz inicial local adaptada.
<init-method>--<create-method>

<init-method>--<bean-method> 
@Timeout NONE Designa un método en una clase de bean de sesión sin estado o una clase de bean gestionado por mensajes que debe recibir avisos de caducidad del temporizador EJB para ese bean.
<timeout-method>
@MessageDriven
ActivationConfigProperty[]     activationConfig

java.lang.String     description

java.lang.String     mappedName

java.lang.Class     messageListenerInterface

java.lang.String     name 
Anotación que define el componente para un bean gestionado por mensajes.
<message-driven>--<ejb-name>
<message-driven>--<mapped-name>
<message-driven>--<ejb-class>
<message-driven>--<messaging-type> <message-driven>--<activation-config-property>
@TransactionAttribute
TransactionAttributeType     value
Cuando se aplica a nivel de tipo, designa el atributo de transacción predeterminado para todos los métodos de negocio del bean de sesión o bean gestionado por mensajes. Cuando se aplica a nivel de método, designa el atributo de transacción sólo para ese método.
<container-transaction>
@TransactionManagement
TransactionManagementType  value
Declara si un bean de sesión o bean gestionado por mensajes tiene transacciones gestionadas por contenedor o transacciones gestionadas por bean.
<transaction-type>
@PostActivate NONE Designa un método para recibir una devolución de llamada después de activar un bean de sesión con estado.
<post-activate>
@PrePassive NONE Designa un método para recibir una devolución de llamada antes de desactivar un bean de sesión con estado.
<pre-activate>
@EJB
java.lang.Class     beanInterface
(Contiene uno de los tipos de interfaz siguientes del EJB de destino: [ interfaz empresarial local, interfaz empresarial remota, interfaz inicial local, interfaz inicial remota ])
 java.lang.String     beanName

 java.lang.String     mappedName

 java.lang.String     name  
Indica una dependencia en la vista local o remota de un Enterprise Java™ Bean.
<ejb-ref>--<ejb-ref-name>
<ejb-ref>--<home>     
<ejb-ref>--<remote>

<ejb-local-ref>--<ejb-ref-name>
<ejb-local-ref>--<local-home>     
<ejb-local-ref>--<local>
@EJBs   Declara varias anotaciones @EJB a nivel de tipo.  
@ApplicationException
EJB[]     value
Se aplica a una excepción para indicar que es una excepción de aplicación y debe ser notificada al cliente directamente (es decir, unwrapped).
<application-exception>--<exception-class>

<application-exception>--<rollback>
@ActivationConfigProperty
java.lang.String     propertyName

 java.lang.String     propertyValue boolean     rollback
Representa la propiedad de configuración de activación
<activation-config-property>

           --<activation-config-property-name>

<activation-config-property>

           --<activation-config-property-value>
@AroundInvoke NONE Especifica un método en una clase que se debe invocar durante la sección Around Invoke de una invocación EJB.
<around-invoke>--<class>
<around-invoke>--<method-name>
@ExcludeClassInterceptors NONE Se utiliza para excluir interceptores a nivel de clase para un método de negocio.
<exclude-class-interceptors>
@ExcludeDefaultInterceptors NONE Se utiliza para excluir interceptores predeterminados para un bean o método de negocio.
<exclude-default-interceptors>
@Interceptors
java.lang.Class[]     value
Declara una lista ordenada de interceptores para una clase o un método.
<interceptors>--<interceptor>
Anotaciones comunes (JSR 250)      
@Generated
java.lang.String[]     value   

 java.lang.String  comments

 java.lang.String     date 
La anotación @Generated se utiliza para marcar código fuente que se ha generado. También se puede utilizar para diferenciar código escrito por el usuario con respecto de código generado en un mismo archivo. Cuando se utiliza, el elemento de valor debe tener el nombre del generador de código. El convenio recomendado es utilizar el nombre completo del generador de código en el campo de valor. Por ejemplo: com.company.package.classname. El elemento de fecha se utiliza para indicar la fecha en que se ha generado el código fuente. El elemento de fecha debe cumplir el estándar ISO 8601. Por ejemplo, el elemento de fecha tendría el valor siguiente 2011-07-04T12:08:56.235-0700 que representa la hora local 2011-07-04 12:08:56 en la zona horaria del Pacífico de Estados Unidos. El elemento de comentario es un espacio reservado para los comentarios que el generador de código puede desear incluir en el código generado. Es la única anotación con retención de fuente (SOURCE). Las demás son RUNTIME. NONE
@PostConstruct NONE La anotación @PostConstruct se utiliza en un método que se debe ejecutar después de realizar la inyección de dependencias para efectuar cualquier inicialización.
<post-construct>--<lifecycle-callback-class>
<post-construct>--<lifecycle-callback-method>
@PreDestroy NONE La anotación @PreDestroy se utiliza en métodos como notificación de llamada para indicar que el contenedor está eliminando la instancia.
<pre-destroy>--<lifecycle-callback-class>
<pre-destroy>--<lifecycle-callback-method>
@Resource
Resource.AuthenticationType     authenticationType
   
Es el tipo de autenticación que se debe utilizar para este recurso.
java.lang.String  description

 java.lang.String mappedName

 java.lang.String     name
Nombre JNDI del recurso.
boolean     shareable
Indica si este recurso se puede compartir entre este componente y otros componentes.
Class     type
Tipo Java del recurso.
La anotación @Resource marca un recurso que es necesario para la aplicación. Esta anotación se puede aplicar en una clase de componente de aplicación, o bien en campos o métodos de la clase de componente. Cuando la anotación se aplica a un campo o método, el contenedor inyecta una instancia del recurso solicitado en el componente de aplicación cuando se inicializa el componente. Si la anotación se aplica a la clase de componente, la anotación declara un recurso que la aplicación busca durante la ejecución.
env-entry
        <env-entry-name>
        <env-entry-value>  
        <env-entry-type>

service-ref
resource-ref
message-destination-ref
resource-env-ref
@Resources      
@DeclareRoles
String[] value
Es utilizado por la aplicación para declarar roles.
<security-role>--<role-name>
@DenyAll NONE Especifica que ningún rol de seguridad está autorizado para invocar los métodos especificados, es decir, los métodos se deben excluir de la ejecución en el contenedor J2EE.
<exclude-list>--<method>
@PermitAll NONE Especifica que todos los roles de seguridad están autorizados para invocar los métodos especificados, es decir, se otorga autorización para los métodos especificados. Se puede especificar en una clase o en métodos. Si se especifica en una clase, se aplica a todos los métodos de la clase. Si se especifica a nivel de método, sólo afecta a ese método. Si RolesAllowed se especifica a nivel de clase y esta anotación se aplica a nivel de método, la anotación PermitAll prevalece sobre RolesAllowed para el método especificado.
<method-permission>--<method>
@RolesAllowed
String[] value
Especifica la lista de roles que están autorizados para acceder a métodos en una aplicación. El valor de la anotación RolesAllowed es una lista de nombres de roles de seguridad. Esta anotación se puede especificar en una clase o en métodos.
<method-permission>--<role-name>
<method-permission>--<method>
@RunAs
String value
Define la identidad de la aplicación durante la ejecución en un contenedor J2EE. Esto permite que los desarrolladores ejecuten acciones con un rol determinado. El rol se debe correlacionar con la información de usuario o grupo en el ámbito de seguridad de los contenedores. Su valor es el nombre de un rol de seguridad.
<security-identity>--<run-as>
Icono que indica el tipo de tema Tema de referencia
Términos y condiciones para centros de información | Comentarios

Icono de indicación de fecha y hora Última actualización: 22 de abril de 2014

Nombre de archivo: rjeeddvsannotations.html