Ao implementar um módulo Enterprise JavaBeans (EJB), instale esse
módulo em um servidor que tenha sido configurado para suportar módulos implementados.
Antes de Iniciar
Monte um ou mais módulos EJB, monte um ou mais módulos da Web e monte-os em um aplicativo Java™ EE.
Para obter uma visão geral sobre as mudanças no modelo de implementação EJB para EJB 3.x, consulte o tópico de visão geral da implementação EJB 3.x.
Procedimento
- Prepare o ambiente de implementação. Consulte o
tópico Preparando para Hospedar Aplicativos.
- Atualize a configuração para cada módulo EJB, conforme necessário para o ambiente de implementação.
- Necessário: Se um módulo tiver dependências de extensões específicas Java 5, como genéricos, anotações e assim por diante, então você deve executar a ferramenta de linha de comandos EJBDeploly separadamente e antes de instalar o módulo ou aplicativo que as contêm. Isso ocorre porque o console administrativo e a ferramenta da linha de comandos
wsadmin não permitem a especificação da opção
ejbdeploy -complianceLevel 5.0.
Isso necessário apenas ao executar a ferramenta EJBDeploy para módulos EJB 2.1 que contêm os beans de entidade.
- Endereçar problemas de interoperabilidade em potencial.
Poderá haver resultados inesperados se
um produto em pilha do WebSphere,
ou outro produto, executado em uma versão do Application Server que
não suporta EJB 3.x, tentar chamar remotamente um método em um
enterprise bean compatível com EJB 3.x em um servidor separado que está executando
uma versão do Application Server que suporta EJB 3.x. Se esses produtos
tentarem chamar um método por meio da interface de negócios remota do EJB 3.x
do enterprise bean, eles poderão encontrar exceções que foram introduzidas
no EJB 3.x que será enviado de volta para o ambiente que não é
compatível com EJB 3.x.
Esse cenário também poderia ser um problema para um administrador de um ambiente que inclui
uma combinação de produtos de pilha que contêm uma mescla de instâncias de Application Server
compatíveis e não compatíveis com EJB 3.x.
A seguir uma lista de classes de exceção que foram introduzidas no
EJB 3.0:
- javax.ejb.ConcurrentAccessException
- javax.ejb.EJBAccessException
- javax.ejb.EJBTransactionRequiredException
- javax.ejb.EJBTransactionRolledbackException
- javax.ejb.NoSuchEJBException
- Certifique-se de que o Application Server esteja atualizado para 7.0.0.3.
- Copie manualmente o arquivo<app_server_root>/runtimes/ejb3exceptions.jar
do Servidor de Aplicativos para um diretório em cada uma das instalações dos produtos da pilha, ou outras instalação de produto, que você usará como o cliente do EJB 3.x.
- Certifique-se de que o diretório que contém o arquivo ejb3exceptions.jar
esteja no caminho de classe.
Um local possível para o arquivo JAR que poderia satisfazer esse requisito é o diretório <app_server_root>/lib
em um servidor que não seja compatível com EJB 3.x.
Evitar Problemas: Exatamente como nos jars de thin client EJB, se uma atualização se tornar disponível, os usuários devem copiar o arquivo ejb3exceptions.jar novamente após a instalação da versão do WebSphere Application Server contendo a versão atualizada.
gotcha
- Implemente o aplicativo. Consulte o tópico Implementando e administrando aplicativos corporativos.
O que Fazer Depois
Se você especificar que a ferramenta EJBDeploy seja executada durante a instalação
do aplicativo e a instalação falhar com uma mensagem NameNotFoundException,
assegure-se de que o arquivo de Java (JAR)
ou o archive corporativo (EAR) de entrada não contenha arquivos de origem. Remova os arquivos
de origem ou inclua todas as classes dependentes e arquivos de recursos do caminho
de classe.
Se houver arquivos de origem no arquivo JAR ou EAR de entrada, as ferramentas
de implementação EJB executarão uma reconstrução antes de gerar o código de implementação.
Se o módulo for implementado com êxito,
teste e depure o módulo.
Consulte o tópico Diagnosticando Problemas (usando
ferramentas de diagnóstico).