Annotations EJB 3.1 et équivalents dans les descripteurs de déploiement

Vous trouverez ci-dessous le tableau de correspondance entre les annotations EJB 3.1 et les données XML utilisées dans les fichiers descripteurs de déploiement.

Tableau 1. Liste des annotations et de leurs équivalents dans les descripteurs de déploiement
Annotation Attributs Description Elément de descripteur de déploiement correspondant
Annotations EJB (JSR-220)      
@Stateless
java.lang.String     description

 java.lang.String     mappedName

 java.lang.String     name 
Annotation de définition de composant pour un bean session sans état. La méthode isIdentical renvoie toujours la valeur true lorsqu'elle est utilisée pour comparer des références d'objet à deux objets de session d'un même bean session sans état (c'est-à-dire qui sont fonctionnellement interchangeables).
<session>--<ejb-name>
<session>--<mapped-name>
<session>--<ejb-class>
<session>--<session-type>

S'il est annoté, "type" implémente une interface :

<session>--<local>

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

 java.lang.String     mappedName

 java.lang.String     name 
Annotation de définition de composant pour un bean session avec état.
<session>--<ejb-name>
<session>--<mapped-name>
<session>--<ejb-class>
<session>--<session-type>
@Local
java.lang.Class[]     value
Lorsqu'elle est utilisée sur la classe de bean, elle déclare les interfaces métier locales pour un bean session. Lorsqu'elle est utilisée sur une interface, elle la désigne comme étant une interface métier locale. Dans ce cas, aucune value() n'est fournie.
<session>--<local>
@LocalHome
java.lang.Class     value
Déclare l'interface home locale ou l'interface home locale adaptée pour un bean session.
<session>--<local home>
@Remote
java.lang.Class[]     value
Déclare les interfaces métier distantes pour un bean session. Lorsqu'elle est utilisée sur interface, elle la désigne comme étant une interface métier distante. Dans ce cas, aucune value() n'est fournie.
<session>--<remote>
@RemoteHome
java.lang.Class     value
Déclare l'interface home distante ou l'interface home distante adaptée pour un bean session.
<session>--<remote home>
@Remove
boolean     retainIfException
S'applique à une méthode métier d'une classe de bean session avec état. Indique que ce bean doit être supprimé par le conteneur au terme de l'exécution de la méthode.
<remove-method>--<bean-method>

<remove-method>--<retain-if-exception>
@Init
java.lang.String     value  
(Nom de la méthode "create" correspondante de l'interface Home/LocalHome adaptée.)
Désigne une méthode d'un bean session qui correspond à la méthode "create" d'une interface home adaptée ou d'une interface home locale adaptée.
<init-method>--<create-method>

<init-method>--<bean-method> 
@Timeout AUCUN Désigne une méthode d'une classe de bean session sans état ou d'une classe de bean géré par message, qui doit recevoir les expirations de minuteur EJB pour ce bean.
<timeout-method>
@MessageDriven
ActivationConfigProperty[]     activationConfig

java.lang.String     description

java.lang.String     mappedName

java.lang.Class     messageListenerInterface

java.lang.String     name 
Annotation de définition de composant pour un bean géré par message.
<message-driven>--<ejb-name>
<message-driven>--<mapped-name>
<message-driven>--<ejb-class>
<message-driven>--<messaging-type> <message-driven>--<activation-config-property>
@TransactionAttribute
TransactionAttributeType     value
Lorsqu'elle est appliquée au niveau TYPE, elle désigne l'attribut de transaction par défaut pour toutes les méthodes métier du bean session ou du bean géré par message. Lorsque'elle est appliquée au niveau méthode, elle désigne l'attribut de transaction pour cette méthode seulement.
<container-transaction>
@TransactionManagement
TransactionManagementType  value
Déclare si un bean session ou un bean géré par message utilise des transactions gérées par conteneur ou des transactions gérées par bean.
<transaction-type>
@PostActivate AUCUN Désigne une méthode pour recevoir un rappel après l'activation d'un bean session avec état.
<post-activate>
@PrePassive AUCUN Désigne une méthode pour recevoir un rappel avant qu'un bean session avec état ne soit rendu passif.
<pre-activate>
@EJB
java.lang.Class     beanInterface
(Contient l'un des types d'interfaces suivants de l'EJB cible : [interface métier locale, interface métier distante, interface home locale, interface home distante])
 java.lang.String     beanName

 java.lang.String     mappedName

 java.lang.String     name  
Indique une dépendance vis-à-vis de la vue locale ou éloignée d'un EJB.
<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   Déclare plusieurs annotations @EJB de niveau TYPE.  
@ApplicationException
EJB[]     value
Appliquée à une exception pour indiquer qu'il s'agit d'une exception d'application et qu'elle doit être signalée directement (c'est-à-dire non encapsulée) au client.
<application-exception>--<exception-class>

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

 java.lang.String     propertyValue boolean     rollback
Représente la propriété "activation config".
<activation-config-property>

           --<activation-config-property-name>

<activation-config-property>

           --<activation-config-property-value>
@AroundInvoke AUCUN Spécifie la méthode d'une classe qui doit être appelée dans le cadre de la portion "around invoke" d'un appel d'EJB.
<around-invoke>--<class>
<around-invoke>--<method-name>
@ExcludeClassInterceptors AUCUN Utilisée pour exclure les intercepteurs de niveau classe pour une méthode métier.
<exclude-class-interceptors>
@ExcludeDefaultInterceptors AUCUN Utilisée pour exclure les intercepteurs par défaut pour un bean ou une méthode métier.
<exclude-default-interceptors>
@Interceptors
java.lang.Class[]     value
Déclare une liste ordonnée d'intercepteurs pour une classe ou une méthode.
<interceptors>--<interceptor>
Annotations communes (JSR 250)      
@Generated
java.lang.String[]     value   

 java.lang.String  comments

 java.lang.String     date 
L'annotation @Generated sert à marquer le code source qui a été généré. Elle peut également servir à distinguer le code écrit par l'utilisateur du code généré dans un même fichier. Lorsqu'elle est utilisée, l'élément "value" doit contenir le nom du générateur de code. Par convention, il est recommandé d'y indiquer le nom qualifié complet de ce générateur. Par exemple : com.company.package.classname. L'élément "date" sert à indiquer la date à laquelle le code source a été généré. Il doit respecter la norme ISO 8601. Par exemple, il peut prendre la valeur 2011-07-04T12:08:56.235-0700 qui représente 2011-07-04 12:08:56 heure locale du fuseau horaire U.S. Pacific. L'élément "comment" sert à recevoir les commentaires éventuels inclus dans le code généré par le générateur de code. Il s'agit de la seule annotation avec une conservation de type SOURCE. Toutes les autres présentent une conservation de type RUNTIME. AUCUN
@PostConstruct AUCUN L'annotation @PostConstruct s'utilise sur une méthode qui doit être exécutée après l'injection des dépendances, pour effectuer une initialisation éventuellement requise.
<post-construct>--<lifecycle-callback-class>
<post-construct>--<lifecycle-callback-method>
@PreDestroy AUCUN L'annotation @PreDestroy s'utilise sur les méthodes en tant qu'avis de rappel pour signaler que l'instance est en cours de suppression par le conteneur.
<pre-destroy>--<lifecycle-callback-class>
<pre-destroy>--<lifecycle-callback-method>
@Resource
Resource.AuthenticationType     authenticationType
   
Type d'authentification à utiliser pour cette ressource.
java.lang.String  description

 java.lang.String mappedName

 java.lang.String     name
Nom JNDI de la ressource.
boolean     shareable
Indique si la ressource peut être partagée entre ce composant et d'autres composants.
Class     type
Type Java™ de la ressource.
L'annotation @Resource marque une ressource dont l'application a besoin. Elle peut être appliquée à une classe de composant d'application ou à des zones ou méthodes de cette classe. Si l'annotation est appliquée à une zone ou une méthode, le conteneur injecte une instance de la ressource demandée dans le composant d'application lors de l'initialisation de ce dernier. Si l'annotation est appliquée à la classe de composant, elle déclare une ressource que l'application recherche lors de l'exécution.
entrée-env
        <env-entry-name>
        <env-entry-value>  
        <env-entry-type>

service-ref
resource-ref
message-destination-ref
resource-env-ref
@Resources      
@DeclareRoles
String[] value
Utilisée par l'application pour déclarer les rôles.
<security-role>--<role-name>
@DenyAll AUCUN Spécifie qu'aucun rôle de sécurité n'est autorisé à appeler les méthodes spécifiées, c'est-à-dire que ces méthodes doivent être exclues de l'exécution dans le conteneur J2EE.
<exclude-list>--<method>
@PermitAll AUCUN Spécifie que tous les rôles de sécurité sont autorisés à appeler les méthodes spécifiées (c'est-à-dire les méthodes spécifiées sont supprimées). Elle peut être utilisée sur une classe ou sur des méthodes. Lorsqu'elle est utilisée sur une classe, elle s'applique à toutes les méthodes de cette classe. Lorsqu'elle est est utilisée au niveau des méthodes, elle n'affecte que les méthodes concernées. Si RolesAllowed est spécifiée au niveau d'une classe et que cette annotation est appliquée au niveau d'une méthode, l'annotation PermitAll prend le pas sur RolesAllowed pour cette méthode.
<method-permission>--<method>
@RolesAllowed
String[] value
Spécifie la liste des rôles autorisés à accéder aux méthodes d'une application. La valeur de l'annotation RolesAllowed est une liste des noms de rôles de sécurité. Cette annotation peut être spécifiée sur une classe ou des méthodes.
<method-permission>--<role-name>
<method-permission>--<method>
@RunAs
String value
Définit l'identité de l'application lors de l'exécution de celle-ci dans un conteneur J2EE. Ceci permet aux développeurs de procéder à l'exécution sous un rôle particulier. Ce rôle doit correspondre aux informations utilisateur/groupe contenues dans le domaine de sécurité du conteneur. La valeur de cette annotation est le nom d'un rôle de sécurité.
<security-identity>--<run-as>
Icône indiquant le type de rubrique Rubrique de référence
Dispositions pour les centres de documentation | Commentaires en retour

Icône d'horodatage Dernière mise à jour: May 29, 2014 10:11

Nom de fichier : rjeeddvsannotations.html