EJB - Annotations

Les annotations ont été introduites dans Java 5.0. Le but d'avoir des annotations est de joindre des informations supplémentaires dans la classe ou une méta-données d'une classe dans son code source. Dans EJB 3.0, les annotations sont utilisées pour décrire les métadonnées de configuration dans les classes EJB. De cette manière, EJB 3.0 élimine le besoin de décrire les données de configuration dans les fichiers XML de configuration.

Le conteneur EJB utilise un outil de compilation pour générer des artefacts requis tels que des interfaces, des descripteurs de déploiement en lisant ces annotations. Voici la liste des annotations couramment utilisées.

Sr.no Nom La description
1

javax.ejb.Stateless

Spécifie qu'une classe EJB donnée est un bean session sans état.

Attributes

  • name - Utilisé pour spécifier le nom du bean session.

  • mappedName - Utilisé pour spécifier le nom JNDI du bean session.

  • description - Utilisé pour fournir une description du bean session.

2

javax.ejb.Stateful

Spécifie qu'une classe EJB donnée est un bean session avec état.

Attributes

  • name - Utilisé pour spécifier le nom du bean session.

  • mappedName - Utilisé pour spécifier le nom JNDI du bean session.

  • description - Utilisé pour fournir une description du bean session.

3

javax.ejb.MessageDrivenBean

Spécifie qu'une classe EJB donnée est un bean géré par message.

Attributes

  • name - Utilisé pour spécifier le nom du bean géré par message.

  • messageListenerInterface - Utilisé pour spécifier l'interface d'écoute de message pour le bean géré par message.

  • activationConfig - Utilisé pour spécifier les détails de configuration du bean géré par message dans un environnement opérationnel du bean géré par message.

  • mappedName - Utilisé pour spécifier le nom JNDI du bean session.

  • description - Utilisé pour fournir une description du bean session.

4

javax.ejb.EJB

Utilisé pour spécifier ou injecter une dépendance en tant qu'instance EJB dans un autre EJB.

Attributes

  • name - Utilisé pour spécifier le nom, qui sera utilisé pour localiser le bean référencé dans l'environnement.

  • beanInterface - Utilisé pour spécifier le type d'interface du bean référencé.

  • beanName - Utilisé pour fournir le nom du bean référencé.

  • mappedName - Utilisé pour spécifier le nom JNDI du bean référencé.

  • description - Utilisé pour fournir une description du bean référencé.

5

javax.ejb.Local

Utilisé pour spécifier les interfaces locales d'un bean session. Cette interface locale indique les méthodes métier du bean session (qui peuvent être sans état ou avec état).

Cette interface est utilisée pour exposer les méthodes métier aux clients locaux, qui s'exécutent dans le même déploiement / application qu'EJB.

Attributes

  • value - Utilisé pour spécifier la liste des interfaces locales comme un tableau d'interfaces.

6

javax.ejb.Remote

Utilisé pour spécifier les interfaces distantes d'un bean session. Cette interface distante indique les méthodes métier du bean session (qui peuvent être sans état ou avec état).

Cette interface est utilisée pour exposer les méthodes métier aux clients distants, qui s'exécutent dans différents déploiements / applications en tant qu'EJB.

Attributes

  • value - Utilisé pour spécifier la liste des interfaces distantes en tant que tableau d'interfaces.

sept

javax.ejb.Activation ConfigProperty

Utilisé pour spécifier les propriétés requises pour un bean géré par message. Par exemple, point final, destination, sélecteur de message, etc.

Cette annotation est transmise en tant que paramètre à l'attribut activationConfig de l'annotation javax.ejb.MessageDrivenBean.

Attributes

  • propertyName - nom de la propriété.

  • propertyValue - valeur de la propriété.

8

javax.ejb.PostActivate

Utilisé pour spécifier la méthode de rappel du cycle de vie EJB. Cette méthode sera appelée lorsque le conteneur EJB vient d'activer / de réactiver l'instance de bean.

Cette interface est utilisée pour exposer les méthodes métier aux clients locaux, qui s'exécutent dans le même déploiement / application qu'EJB.