Utilize essa tarefa para definir os atributos de implementação do ActivitySession para um enterprise bean para que o bean possa participar de um contexto do ActivitySession e suportar operações baseadas no ActivitySession.
Antes de Iniciar
Esta descrição de tarefa assume que você possui um arquivo EAR (Enterprise Archive),
o qual contém um enterprise bean de aplicativo que pode ser implementado no WebSphere Application
Server.
Para obter detalhes adicionais, consulte o tópico sobre a montagem dos aplicativos.
Sobre Esta Tarefa
Configure os atributos de implementação de um aplicativo usando uma
ferramenta de montagem. Este tópico descreve o uso do Rational Application Developer para configurar os
atributos de implementação de ActivitySession.
Esses atributos são adicionais a outros atributos de
implementação, por exemplo, "Load at", que especifica quando o bean carrega seu estado do
banco de dados. Para obter detalhes sobre os campos na ferramenta de montagem e para obter ajuda da tarefa
associada, consulte as informações do Rational Application Developer.
Para definir os atributos de implementação de ActivitySession para
um enterprise bean, conclua as seguintes etapas:
Procedimento
- Inicie a ferramenta de montagem. Para obter mais informações, consulte as
informações do Rational Application
Developer.
- Crie ou edite o arquivo EAR do aplicativo.
Nota: Assegure-se de
definir o servidor de destino como WebSphere Application Server versão 7.0.
Por exemplo,
para alterar os atributos de um aplicativo existente, utilize o assistente de Importação para
importar o arquivo EAR para a ferramenta de montagem.
Para iniciar o assistente para importação:
- Clique em .
- Clique em Avançar, em seguida, selecione o arquivo EAR.
- No campo Servidor de Destino, selecione WebSphere Application
Server v7.0.
- Clique em Concluído.
- Na visualização do Project Explorer da perspectiva Java™ EE, clique com o botão direito do mouse no módulo EJB
para a instância do enterprise bean e, em seguida, clique em . Um bloco de notas do diálogo de propriedades para a instância do enterprise bean é exibido na área de janela de propriedades.
- Na área de janela de propriedades, selecione a guia Beans.
- Selecione o bean que você deseja alterar.
- Na seção Extensões do WebSphere, sob Cache do Bean, defina o atributo
Ativar em para ActivitySession:
Um enterprise bean com esse critério de ativação é ativado e tornado passivo da seguinte forma:
- Em um limite do ActivitySession, se um contexto do ActivitySession estiver presente na ativação.
- Em um limite da transação, se um contexto da transação, mas nenhum contexto do ActivitySession, estiver presente na ativação.
- Caso contrário, em um limite de chamada.
- Na caixa de grupo Transações Locais, defina o atributo
Limite para ActivitySession: Quando essa definição é utilizada, a transação local
deve ser resolvida dentro do escopo de qualquer ActivitySession em que tenha sido iniciada ou se nenhum
contexto ActivitySession estiver presente, no mesmo método de bean em que foi iniciada.
Uma
configuração de ActivitySession não se aplica a qualquer método home EJB, por exemplo,
métodos create ou finder. Os métodos home EJB não podem participar de um
ActivitySession porque essa situação poderia causar conflitos.
- Para beans de entidade, ou beans de sessão,
configure as propriedades ActivitySession para cada método EJB.
- Na área de janela de propriedades, selecione a guia ActivitySession.
- No campo Configurar as Políticas do ActivitySession, clique em Incluir ou Editar para definir o atributo Tipo do ActivitySession para métodos do bean corporativo. Isso especifica como o contêiner deve gerenciar os limites do ActivitySession
quando delegar a chamada de um método a um método de negócios de um
bean corporativo:
- Nunca
- O contêiner chama métodos bean sem um contexto do ActivitySession.
- Se o cliente chamar um método bean a partir de um contexto do ActivitySession, o contêiner emitirá uma exceção
InvalidActivityException, que é uma javax.rmi.RemoteException.
- Se o cliente chamar um método bean de fora de um contexto do ActivitySession,
o contêiner se comportará da mesma forma como se o valor Não Suportado
estivesse definido. O cliente deve chamar o método sem um
contexto do ActivitySession.
- Mandatório
- O contêiner sempre chama o método bean
dentro do contexto do ActivitySession associado ao cliente. Se o cliente tentar chamar o
método bean sem um contexto do ActivitySession, o contêiner
emitirá uma exceção ActivityRequiredException
para o cliente. O contexto do ActivitySession é transmitido para qualquer objeto EJB
ou recurso acessado por um método enterprise bean.
A exceção ActivityRequiredException é uma javax.rmi.RemoteException.
- Requer novo
- O contêiner sempre chama o método bean
dentro de um novo contexto do ActivitySession, independentemente de o cliente chamar
o método dentro ou fora de um contexto do ActivitySession. O novo contexto do ActivitySession
é transmitido para qualquer objeto ou recurso do enterprise bean que for utilizado por esse
método bean.
Qualquer contexto do ActivitySession recebido é suspenso durante o método e retomado após o término do método.
O contêiner inicia
um novo ActivitySession antes de método despachar e o conclui após o término do método.
- Required
- O contêiner chama o método bean dentro de um contexto do ActivitySession. Se um cliente chamar um método bean a partir de dentro de um contexto do ActivitySession, o contêiner chamará o método bean dentro do contexto do ActivitySession do cliente. Se um cliente chamar um método bean fora de um contexto do ActivitySession, o contêiner criará um novo contexto do ActivitySession e
chamará o método bean de dentro desse contexto. O contexto do ActivitySession
é transmitido para qualquer objeto ou recurso do enterprise bean que for utilizado por esse
método bean.
- Não-suportado
- O contêiner chama métodos bean sem um contexto do ActivitySession. Se um cliente chamar um método bean a partir de um contexto do
ActivitySession, o contêiner suspenderá a associação entre o ActivitySession e o
encadeamento atual antes de chamar o método na instância do enterprise bean. O contêiner então retoma a associação suspensa
quando a chamada do método é retornada. O contexto do ActivitySession suspenso
não é transmitido para nenhum objeto ou recurso de bean corporativo
que é utilizado por este método bean.
- Suporta
- Se o cliente chamar o método bean dentro de um ActivitySession, o contêiner chamará o método dentro de um contexto do ActivitySession.
Se o cliente chamar o método bean sem um contexto do ActivitySession,
o contêiner chamará o método bean sem um contexto do ActivitySession.
O contexto do ActivitySession
é transmitido para qualquer objeto ou recurso do bean corporativo que for utilizado por esse
método bean.
- Clique em Avançar.
- Selecione os métodos aos quais a política de tipo do ActivitySession deve ser aplicada.
- Clique em Concluído.
A forma como o contêiner gerencia os limites de ActivitySession ao delegar uma chamada de
método depende do Tipo de ActivitySession configurado aqui e do Tipo de Transação do Contêiner,
conforme descrito no tópico sobre a configuração de atributos de implementação transacionais.
Para obter detalhes adicionais sobre o relacionamento entre essas duas propriedades, consulte
o tópico sobre ActivitySession e as políticas do contêiner de transação em conjunto.
- Salve suas alterações para o descritor de implementação.
- Feche o Deployment Descriptor Editor.
- Ao receber o aviso para tal, clique em
Sim para salvar as alterações para o descritor
de implementação.
- Verifique os arquivos archive. Para obter mais informações sobre a
verificação de arquivos utilizando o Rational Application Developer, consulte as informações do Rational Application
Developer.
- A partir do menu pop-up do projeto, clique em Implementar
para gerar o código de implementação EJB.
- Opcional: Teste o módulo concluído em uma instalação do WebSphere Application
Server.
Clique com o botão direito em um módulo, clique em Executar no Servidor e siga as instruções no assistente exibido.
Importante: Utilize Executar no Servidor apenas para teste da unidade. A ferramenta de montagem controla a instalação do WebSphere Application
Server e, quando um aplicativo é publicado remotamente, a ferramenta de montagem sobrescreve
o arquivo de configuração do servidor. Não utilize a opção Executar no Servidor em
servidores de produção.
O que Fazer Depois
Depois de montar seu aplicativo, use uma ferramenta de gerenciamento de sistemas para
implementar o arquivo EAR no servidor de aplicativos que deve executar o aplicativo. Por exemplo, para usar o console administrativo, consulte o tópico sobre a implementação e
administração de aplicativos corporativos.