Usar ligações do WebSphere para definir nomes da JNDI do bean acionado por mensagens

O message-driven-descriptor configura o destino para o listener de mensagem. Uma referência de destino de mensagem é um nome lógico utilizado para localizar um enterprise bean em um módulo EJB que atua como um destino de mensagem. As referências de destino de mensagem existem apenas em artefatos J2EE 1.4 e posteriores como:

Se múltiplas referências de destino de mensagem estiverem associadas a um único link de destino de mensagem, então um único nome da JNDI para um enterprise bean que é mapeado no link de destino de mensagem e, por sua vez as referências de destino de mensagem vinculadas, é coletado durante a implementação. Em tempo de execução, as referências de destino de mensagem são limitadas aos destinos de mensagem administrados no ambiente operacional de destino. Se uma referência de destino de mensagem e um bean acionado por mensagens estiverem vinculados pelo mesmo destino de mensagem, tanto a referência quanto o bean devem ter o mesmo nome da JNDI de destino. Quando ambos tiverem o mesmo nome, apenas o nome da JNDI de destino para o bean acionado por mensagens será coletado e aplicado à referência de destino de mensagem correspondente. Se um implementador optar por gerar ligações padrão ao instalar o aplicativo, o assistente de instalação designa nomes da JNDI às seguintes referências de destino de mensagem incompletas:
Se uma referência de destino da mensagem tiver um < message-destination-link>, o nome JNDI será configurado como ejs/message-destination-linkName . Caso contrário, o nome JNDI será configurado como eis/message-destination-refName .

Essa regra detecta os nomes da JNDI de destino para beans acionados por mensagens. Uma correção automatizada copiará o nome JNDI de destino do arquivo weblogic-ejb-jar.xml para o arquivo WebSphere(R ) Application Server arquivo de ligações. A correção automatizada, no entanto, não definirá o nome ActivationSpec JNDI nem migrará as propriedades de configuração de ativação no ejb-jar.xml.

Solução manual para o Liberty


Soluções manuais para o WebSphere tradicional

Um desenvolvedor de aplicativos pode criar definições de ligações em arquivos ibm-xxx-bnd.xml para módulos EJB 3.0 e Web 2.5 e em arquivos ibm-xxx-bnd.xmi para módulos que existiam antes de Java(R) Platform, Enterprise Edition (Java EE) 5. O desenvolvedor de aplicativos pode criar os arquivos utilizando uma ferramenta como uma ferramenta de desenvolvedor IBM(R) Rational(R), ou para módulos EJB 3.0 ou Web 2.5, utilizando um editor XML ou editor de texto. O desenvolvedor então fornece um aplicativo corporativo (arquivo .ear) que está preenchido com ligações para um assembler ou implementador de aplicativos. Ao montar o aplicativo, o assembler não modifica as ligações. De forma semelhante, ao instalar o aplicativo em um servidor suportado pelo WebSphere Application Server, o implementador não modifica ou substitui as ligações ou gera ligações padrão a menos que as alterações nas ligações sejam necessárias para a implementação bem-sucedida do aplicativo.

Para fazer as alterações necessárias nos beans do Rational Application Developer para EJB 2.1, conclua as seguintes ações:
  1. Inicie a ferramenta de montagem, Rational Application Developer.
  2. Abra o Projeto EJB correto.
  3. Clique duas vezes no descritor de implementação
  4. Clique no bean acionado por mensagens correto.
  5. Role para baixo até a seção Ligações do WebSphere.
  6. Selecione a caixa de seleção Adaptador JCA e insira o nome JNDI ActivationSpec.


Para fazer as alterações necessárias no console administrativo para beans EJB 2.0, conclua as seguintes ações: O Rational Application Developer Versão 7.0 não suporta a configuração de especificações de ativação do EJB 2.1 para beans EJB 2.0. É possível definir as especificações de ativação EJB 2.1 apenas para beans EJB 2.1.
  1. Configure a especificação de ativação para o MDB utilizando o console administrativo ao implementar o aplicativo para WebSphere Application Server.
  2. Exporte o arquivo EAR para o aplicativo a partir do console administrativo.
  3. Copie o descritor de implementação a partir do arquivo EAR no projeto para que ele tenha a especificação de ativação correta.

Definir ligações durante montagem de aplicativo

Um assembler de aplicativos pode definir ligações em anotações ou em descritores de implementação de um aplicativo. Módulos Java EE 5 contêm anotações no código de origem. Para declarar uma anotação, um assembler de aplicativos precede uma palavra-chave com o caractere @. As ligações para módulos anteriores ao Java EE 5 são especificadas na seção Ligações do WebSphere de um editor do descritor de implementação. A modificação dos descritores de implementação pode alterar as definições de ligações nos arquivos de ligações que são criadas no desenvolvimento de um aplicativo. Depois de definir as ligações, o assembler fornece o aplicativo a um implementador. Ao instalar o aplicativo em um servidor suportado pelo WebSphere Application Server, o implementador não modifica ou substitui as ligações ou gera ligações padrão, a menos que as alterações nas ligações sejam necessárias para implementação do aplicativo.


Definir ligações durante a instalação do aplicativo

Um implementador de aplicativo ou administrador do servidor pode modificar as ligações ao instalar o aplicativo em um servidor suportado pelo WebSphere Application Server utilizando o console administrativo. Novas definições de ligação podem ser especificadas nas páginas do assistente de instalação.
Além disso, um implementador ou um administrador pode optar por gerar ligações padrão durante a instalação do aplicativo. A escolha de gerar ligações padrão durante a instalação do aplicativo instrui o produto para preencher ligações no aplicativo com valores-padrão. As ligações existentes não são mudadas.
Restrição: Você não pode definir ou substituir ligações durante a instalação do aplicativo para aplicativos clientes. Você deve definir ligações para módulos de aplicativos clientes durante a montagem e armazenar as ligações no arquivo de ligações.


Definir ligações durante a configuração da instalação de um aplicativo

Depois de um aplicativo ser instalado em um servidor suportado pelo WebSphere Application Server, um implementador de aplicativos ou um administrador do servidor pode modificar as ligações alterando valores em páginas do console administrativo como aquelas acessadas a partir das páginas de configuração para o aplicativo corporativo.