Módulos EJB

Um módulo Enterprise JavaBeans (EJB) é usado para montar um ou mais enterprise beans em uma única unidade implementável. Um módulo EJB é armazenado em um arquivo de Java™ (JAR) padrão.

Um módulo de EJB contém o seguinte:

É possível implementar um módulo EJB como um aplicativo independente ou combiná-lo com outros módulos EJB ou com módulos da Web para criar um aplicativo Java. Um módulo de EJB é instalado e executado em um contêiner do enterprise bean.

Se desejar compactar um módulo do EJB 3.x com um descritor de implementação, há várias maneiras de se fazer isso. É possível empacotar um módulo EJB 3.x com uma sessão de estilo EJB 3.x e/ou beans acionados por mensagens exclusivamente, com uma sessão de estilo EJB 2.1 e/ou beans acionados por mensagens exclusivamente ou uma combinação de beans de estilo 2.1 e 3.x. O descritor de implementação XML deve ser um descritor de implementação Versão 3.x. É necessário compactar os beans de entidade 2.1 em módulos com descritores de implementação 2.1.

Módulos EJB que contêm beans EJB 3.x devem ter pelo menos o nível de especificação EJB 3.x durante a execução do produto. Para configurar o módulo EJB para suportar beans EJB 3.x, é possível configurar o nível de descritor de implementação ejb-jar.xml como 3.0 ou 3.1, ou certificar-se de que o módulo não contenha um descritor de implementação ejb-jar.xml. Se o nível do módulo for EJB 2.1 ou anterior, nenhuma função do EJB 3.x, incluindo varredura de anotação ou injeção de recursos, será executada no tempo de execução.

Para obter informações adicionais sobre pacotes e implementação de beans EJB 3.x, consulte o tópico Visão Geral de Pacotes do Módulo EJB 3.x.

Visualizações do Cliente Locais

A especificação de EJB requer que apenas visualizações do cliente locais sejam suportadas para EJBs empacotados dentro do mesmo aplicativo. Isto inclui inícios locais, interfaces de negócios locais e a visualização sem interface. O produto permite acesso a visualizações do cliente local de EJBs empacotado com um aplicativo separado com algumas restrições:
  • A interface local e todos os tipos de parâmetror, retorno e exceção usados pela interface local devem estar visíveis para o carregador de classes do aplicativo de chamada e do aplicativo EJB de destino. É possível assegurar isto usando uma biblioteca compartilhada associada a um carregador de classes do servidor ou usando uma biblioteca compartilhada isolada associada a ambos os aplicativos. Leia o tópico Criando Bibliotecas Compartilhadas para obter mais informações.
  • Quando o aplicativo EJB de destino é interrompido, quaisquer referências em cache para o EJB devem ser atualizadas. É possível concluir uma das ações a seguir:
    • Reiniciar o aplicativo de chamada. A solução mais simples é reiniciar o aplicativo de chamada sempre que você reiniciar um aplicativo EJB de destino do qual ele depende.
    • Obter uma nova referência do JNDI. Por padrão, as consultas do JNDI a partir do namespace Java são armazenadas em cache e o cache deve ser desativado ou limpo para obter uma nova referência. Leia o tópico Desenvolvendo Aplicativos que Usam JNDI para obter mais informações.

      As chamadas de método EJB lançam com.ibm.websphere.ejbcontainer.EJBStoppedException quando o aplicativo EJB de destino foi interrompido. Se você tiver armazenado em cache a referência EJB em uma variável de instância usando a injeção de @EJB ou a consulta do JNDI, será possível capturar esta exceção e atualizar a referência EJB executando uma consulta não em cache.

    • Ative proxies EJB de local indireto para o aplicativo EJB de destino. Isto faz com que o proxy EJB seja atualizado automaticamente quando o aplicativo for reiniciado. Ativar proxies locais indiretos causa alguma sobrecarga adicional para cada chamada de método EJB.

      É possível ativar proxies locais indiretos usando, por exemplo, um console administrativo. Clique em Aplicativos > Tipos de Aplicativos > Aplicativos corporativos do WebSphere > application_name > Custom properties > Novo. Especifique um nome do com.ibm.websphere.ejbcontainer.indirectLocalProxies e um valor de true para a propriedade customizada, em seguida aplique e salve as mudanças.


Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cejb_emod
Nome do arquivo: cejb_emod.html