EJB - Anotações

As anotações foram introduzidas no Java 5.0. O objetivo de ter anotações é anexar informações adicionais na classe ou metadados de uma classe em seu código-fonte. No EJB 3.0, as anotações são usadas para descrever metadados de configuração em classes EJB. Dessa forma, o EJB 3.0 elimina a necessidade de descrever os dados de configuração em arquivos XML de configuração.

O contêiner EJB usa a ferramenta do compilador para gerar os artefatos necessários, como interfaces e descritores de implantação, lendo essas anotações. A seguir está a lista de anotações comumente usadas.

Sr. Não Nome Descrição
1

javax.ejb.Stateless

Especifica que uma determinada classe EJB é um bean de sessão sem estado.

Attributes

  • name - Usado para especificar o nome do bean de sessão.

  • mappedName - Usado para especificar o nome JNDI do bean de sessão.

  • description - Usado para fornecer a descrição do bean de sessão.

2

javax.ejb.Stateful

Especifica que uma determinada classe EJB é um bean de sessão com preservação de estado.

Attributes

  • name - Usado para especificar o nome do bean de sessão.

  • mappedName - Usado para especificar o nome JNDI do bean de sessão.

  • description - Usado para fornecer a descrição do bean de sessão.

3

javax.ejb.MessageDrivenBean

Especifica que uma determinada classe EJB é um bean acionado por mensagem.

Attributes

  • name - Usado para especificar o nome do bean controlado por mensagem.

  • messageListenerInterface - Usado para especificar a interface do listener de mensagem para o bean acionado por mensagem.

  • activationConfig - Usado para especificar os detalhes de configuração do bean controlado por mensagem em um ambiente operacional do bean controlado por mensagem.

  • mappedName - Usado para especificar o nome JNDI do bean de sessão.

  • description - Usado para fornecer a descrição do bean de sessão.

4

javax.ejb.EJB

Usado para especificar ou injetar uma dependência como instância EJB em outro EJB.

Attributes

  • name - Usado para especificar o nome, que será usado para localizar o bean referenciado no ambiente.

  • beanInterface - Usado para especificar o tipo de interface do bean referenciado.

  • beanName - Usado para fornecer o nome do bean referenciado.

  • mappedName - Usado para especificar o nome JNDI do bean referenciado.

  • description - Usado para fornecer a descrição do bean referenciado.

5

javax.ejb.Local

Usado para especificar a (s) interface (s) local (is) de um bean de sessão. Essa interface local declara os métodos de negócios do bean de sessão (que pode ser sem estado ou com estado).

Essa interface é usada para expor os métodos de negócios para clientes locais, que estão sendo executados na mesma implementação / aplicativo que o EJB.

Attributes

  • value - Usado para especificar a lista de interfaces locais como uma matriz de interfaces.

6

javax.ejb.Remote

Usado para especificar interface (s) remota (s) de um bean de sessão. Esta interface remota indica os métodos de negócios do bean de sessão (que pode ser sem estado ou com estado).

Essa interface é usada para expor os métodos de negócios para clientes remotos, que estão sendo executados em diferentes implementações / aplicativos como EJB.

Attributes

  • value - Usado para especificar a lista de interfaces remotas como uma matriz de interfaces.

7

javax.ejb.Activation ConfigProperty

Usado para especificar as propriedades necessárias para um bean acionado por mensagem. Por exemplo, ponto final, destino, seletor de mensagem etc.

Esta anotação é passada como um parâmetro para o atributo activationConfig da anotação javax.ejb.MessageDrivenBean.

Attributes

  • propertyName - nome da propriedade.

  • propertyValue - valor do imóvel.

8

javax.ejb.PostActivate

Usado para especificar o método de retorno de chamada do ciclo de vida EJB. Este método será chamado quando o contêiner EJB acabou de ativar / reativar a instância do bean.

Essa interface é usada para expor os métodos de negócios para clientes locais, que estão sendo executados na mesma implementação / aplicativo que o EJB.