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.
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
Exemplo
// 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);