Desenvolvendo um Enterprise Bean ou Cliente de Aplicativo Corporativo para Gerenciar ActivitySessions

Utilize esta tarefa para gravar o código necessário para um EJB de sessão ou cliente de aplicativo corporativo para gerenciar um ActivitySession, com base na extração de código de exemplo fornecida.

Sobre Esta Tarefa

Na maioria das situações, um enterprise bean pode depender do contêiner EJB para gerenciar ActivitySessions no bean. Nestes casos, tudo o que você precisa é configurar os atributos apropriados de ActivitySession no descritor de implementação do módulo EJB, conforme descrito no tópico sobre a configuração dos atributos de implementação ActivitySession do módulo EJB. Além disso, em geral, é prático projetar seus enterprise beans de forma que todo o gerenciamento de ActivitySession seja tratado no nível do enterprise bean.

No entanto, em alguns casos, poderá ser necessário que um bean de sessão ou um cliente de aplicativo corporativo participe diretamente em ActivitySessions. Em seguida, você precisa gravar o código que o bean de sessão ou o cliente de aplicativo corporativo necessita para gerenciar seus próprios ActivitySessions.

Nota: Os beans de sessão que utilizam BMT e têm uma definição Ativar em igual a ActivitySession podem gerenciar ActivitySessions. Os beans de entidade não podem gerenciar ActivitySessions; o contêiner EJB sempre gerencia ActivitySessions nos beans de entidade.

Ao se preparar para gravar o código necessário para um bean de sessão ou um cliente de aplicativo corporativo para gerenciar ActivitySessions, considere os pontos descritos no tópico sobre ActivitySession e contextos de transação.

Para gravar o código necessário para um EJB de sessão ou cliente de aplicativo corporativo para gerenciar um ActivitySession, conclua as seguintes etapas, com base na seguinte extração de código de exemplo.

Procedimento

  1. Obtenha um contexto inicial para o ActivitySession.
  2. Obtenha uma implementação da interface UserActivitySession por meio de uma consulta de JNDI da URL java:comp/websphere/UserActivitySession. A interface UserActivitySession é utilizada para iniciar e finalizar ActivitySessions e para consultar vários atributos da ActivitySession ativa associada ao encadeamento.
  3. Defina o tempo limite, em segundos, depois do qual todos os ActivitySessions iniciados subsequentemente são automaticamente concluídos pelo serviço ActivitySession. Se o bean de sessão ou o cliente de aplicativo corporativo não configurar especificamente esse valor, o tempo limite padrão (300 segundos) será utilizado.

    O tempo limite padrão também pode ser substituído para cada servidor de aplicativos, no painel servidor-> Serviço ActivitySession do console administrativo.

  4. Inicie a ActivitySession, chamando o método beginSession() de UserActivitySession.
  5. No ActivitySession, chame os métodos de negócios para fazer o trabalho necessário. Você também pode chamar outros métodos de UserActivitySession para gerenciar a ActivitySession; por exemplo, para obter o status da ActivitySession ou para verificar todos os recursos da ActivitySession envolvidos na ActivitySession.
  6. Finalize a ActivitySession, chamando o método endSession() de UserActivitySession.

Exemplo

O resumo do código a seguir fornece um exemplo básico de como usar a interface UserActivitySession:
// Obtenha o contexto inicial
  InitialContext ic = new InitialContext();
// Lookup UserActivitySession
  UserActivitySession uas = 
 (UserActivitySession)ic.lookup("java:comp/websphere/UserActivitySession");

// Set the ActivitySession timeout to 60 seconds
  uas.setSessionTimeout(60);
// Start a new ActivitySession context
  uas.beginSession();
// Do some work under this context
  MyBeanA beanA.doSomething();
  ...
  MyBeanB beanB.doSomethingElse();
// Encerre o contexto
  uas.endSession(EndModeCheckpoint);

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



Í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=tas_usebma
Nome do arquivo: tas_usebma.html