Desenvolvendo um Aplicativo Corporativo para Utilizar ActivitySessions
Este tópico fornece uma visão geral das tarefas de alto nível para utilizar ActivitySessions em aplicativos corporativos.
Sobre Esta Tarefa
Antes de usar ActivitySessions nos aplicativos corporativos, considere os seguintes
pontos:
As tarefas de alto nível a seguir ilustram como utilizar um ActivitySession
em um aplicativo corporativo:- Um aplicativo acessado em um contexto ActivitySession pode receber um javax.transaction.InvalidTransactionException RemoteException, emitido pelo contêiner EJB (Enterprise JavaBeans) ao atender qualquer método de aplicativo. Essa exceção ocorre quando uma instância de um enterprise bean que tenha um critério de ativação baseado no ActivitySession envolve-se com transações globais e locais simultâneas.
- Para ativar um bean corporativo para participar de um contexto do ActivitySession e suportar operações baseadas no ActivitySession, ele deve ser configurado com uma ActivationPolicy de ACTIVITY_SESSION. Um bean configurado com ActivationPolicy de TRANSACTION ou ONCE não pode participar em um contexto do ActivitySession.
- Um bean de sessão pode usar ActivitySessions gerenciados pelo contêiner ou implementar ActivitySessions gerenciado pelo bean; os beans de entidade podem usar apenas ActivitySessions gerenciados por contêiner. Um bean é implementado para ser gerenciado pelo bean ou gerenciado pelo contêiner em relação ao gerenciamento de ActivitySession, definindo seu atributo de implementação do tipo de transação para ser gerenciado pelo bean ou gerenciado pelo contêiner quando o bean corporativo for implementado. Um bean que utiliza transações gerenciadas pelo bean podem utilizar ActivitySessions gerenciados pelo bean; um bean que utiliza transações gerenciadas pelo contêiner pode utilizar ActivitySessions gerenciados pelo contêiner.
- Se desejar que um bean de sessão ou um cliente de aplicativo corporativo gerencie seus próprios ActivitySessions, você deve gravar o código que demarca explicitamente os limites de um ActivitySession, como descrito em Desenvolvimento de um Enterprise Bean ou Cliente J2EE para Gerenciar ActivitySessions.