Saturday, February 23, 2019

EJB - Annotations

Annotations were introduced in Java 5.0. The purpose of having annotations is to attach additional information in the class or a meta-data of a class within its source code. In EJB 3.0, annotations are used to describe configuration meta-data in EJB classes. By this way, EJB 3.0 eliminates the need to describe configuration data in configuration XML files.
EJB container uses compiler tool to generate required artifacts like interfaces, deployment descriptors by reading those annotations. Following is the list of commonly used annotations.
Sr.noNameDescription
1
javax.ejb.Stateless
Specifies that a given EJB class is a stateless session bean.
Attributes
  • name − Used to specify name of the session bean.
  • mappedName − Used to specify the JNDI name of the session bean.
  • description − Used to provide description of the session bean.
2
javax.ejb.Stateful
Specifies that a given EJB class is a stateful session bean.
Attributes
  • name − Used to specify name of the session bean.
  • mappedName − Used to specify the JNDI name of the session bean.
  • description − Used to provide description of the session bean.
3
javax.ejb.MessageDrivenBean
Specifies that a given EJB class is a message driven bean.
Attributes
  • name − Used to specify name of the message driven bean.
  • messageListenerInterface− Used to specify message listener interface for the message driven bean.
  • activationConfig − Used to specify the configuration details of the message-driven bean in an operational environment of the message driven bean.
  • mappedName − Used to specify the JNDI name of the session bean.
  • description − Used to provide description of the session bean.
4
javax.ejb.EJB
Used to specify or inject a dependency as EJB instance into another EJB.
Attributes
  • name − Used to specify name, which will be used to locate the referenced bean in the environment.
  • beanInterface − Used to specify the interface type of the referenced bean.
  • beanName − Used to provide name of the referenced bean.
  • mappedName − Used to specify the JNDI name of the referenced bean.
  • description − Used to provide description of the referenced bean.
5
javax.ejb.Local
Used to specify Local interface(s) of a session bean. This local interface states the business methods of the session bean (which can be stateless or stateful).
This interface is used to expose the business methods to local clients, which are running in the same deployment/application as EJB.
Attributes
  • value − Used to specify the list of local interfaces as an array of interfaces.
6
javax.ejb.Remote
Used to specify Remote interface(s) of a session bean. This remote interface states the business methods of the session bean (which can be stateless or stateful).
This interface is used to expose the business methods to remote clients, which are running in different deployment/application as EJB.
Attributes
  • value − Used to specify the list of remote interfaces as an array of interfaces.
7
javax.ejb.Activation ConfigProperty
Used to specify properties required for a message driven bean. For example, end point, destination, message selector etc.
This annotation is passed as a parameter to activationConfig attribute of javax.ejb.MessageDrivenBean annotation.
Attributes
  • propertyName − name of the property.
  • propertyValue − value of the property.
8
javax.ejb.PostActivate
Used to specify callback method of EJB lifecycle. This method will be called when EJB container just activated/reactivated the bean instance.
This interface is used to expose the business methods to local clients, which are running in same deployment/application as EJB.

No comments:

Post a Comment

Popular Posts