ActivitySession e Políticas de Contêiner de Transação em Combinação
Este tópico fornece detalhes sobre o relacionamento entre as propriedades do descritor de implementação que determinam como o contêiner gerencia os limites da ActivitySession.
Se um bean corporativo usar ActivitySessions, a forma de gerenciamento de limites de ActivitySession pelo contêiner EJB ao delegar uma chamada de método dependerá dos atributos do descritor de implementação do tipo ActivitySession e do Tipo de transação do contêiner configurados para o bean corporativo. A tabela a seguir lista o relacionamento entre estas duas propriedades.
- Sn
- Um ActivitySession, em que n indica a instância da ActivitySession.
- Tn
- Uma transação, em que n indica a instância da transação.
Em todos os casos em que o contêiner não inicia ou deixa um contexto de transação global associado ao encadeamento, ele inicia (ou obtém da instância do bean) uma contenção da transação local e a associa ao encadeamento. A duração da contenção da transação local é determinada por uma combinação do descritor de limite da transação local (configurado como parte do descritor de implementação do aplicativo e não mostrado na tabela a seguir) e a presença ou não de um contexto da ActivitySession, conforme descrito em ActivitySessions e contextos de transações.
As linhas realçadas em negrito não são permitidas.
Política de ActivitySession do bean (Tipo de ActivitySession) | Política de transação do bean (Tipo de transação de contêiner) | Contextos recebidos | Comportamento do contêiner |
---|---|---|---|
Required | Required | Nenhum | Iniciar S1, Iniciar T1 |
S1 | Iniciar T1 | ||
T1 | Suspender T1, Iniciar S1, Iniciar T2 | ||
S1, T1 | Sem Ação | ||
Requer novo | Nenhum | Iniciar S1, Iniciar T1 | |
S1 | Iniciar T1 | ||
T1 | Suspender T1, Iniciar S1, Iniciar T2 | ||
S1, T1 | Suspender T1, Iniciar T2 | ||
Suporta | Nenhum | Iniciar S1 | |
S1 | Sem Ação | ||
T1 | Suspender T1, Iniciar S1 | ||
S1, T1 | Sem Ação | ||
Não-suportado | Nenhum | Iniciar S1 | |
S1 | Sem Ação | ||
T1 | Suspender T1, Iniciar S1 | ||
S1, T1 | Suspender T1 | ||
Mandatório | Nenhum | Exceção | |
S1 | Exceção | ||
T1 | Exceção | ||
S1, T1 | Sem ação | ||
Nunca | Nenhum | Iniciar S1 | |
S1 | Sem Ação | ||
T1 | Suspender T1, Iniciar S1 | ||
S1, T1 | Exceção | ||
Requer novo | Required | Nenhum | Iniciar S1 + T1 |
S1 | Suspender S1, Iniciar S2 + T1 | ||
T1 | Suspender T1, Iniciar S1 + T2 | ||
S1 + T1 | Suspender S1 + T1, Iniciar S2 + T2 | ||
Requer novo | Nenhum | Iniciar S1 + T1 | |
S1 | Suspender S1, Iniciar S2 + T1 | ||
T1 | Suspender T1, Iniciar S1 + T2 | ||
S1 + T1 | Suspender S1 + T1, Iniciar S2 + T2 | ||
Suporta | Nenhum | Iniciar S1 | |
S1 | Suspender S1, Iniciar S2 | ||
T1 | Suspender T1, Iniciar S1 | ||
S1, T1 | Suspender S1 + T1, Iniciar S2 | ||
Não-suportado | Nenhum | Iniciar S1 | |
S1 | Suspender S1, Iniciar S2 | ||
T1 | Suspender T1, Iniciar S1 | ||
S1, T1 | Suspender S1 + T1, Iniciar S2 | ||
Mandatório | Nenhum | Exceção | |
S1 | Exceção | ||
T1 | Exceção | ||
S1, T1 | Exceção | ||
Nunca | Nenhum | Iniciar S1 | |
S1 | Suspender S1, Iniciar S2 | ||
T1 | Suspender T1, Iniciar S1 | ||
S1, T1 | Suspender S1 + T1, Iniciar S2 | ||
Suporta | Required | Nenhum | Iniciar T1 |
S1 | Iniciar T1 | ||
T1 | Sem Ação | ||
S1, T1 | Sem Ação | ||
Requer novo | Nenhum | Iniciar T1 | |
S1 | Iniciar T1 | ||
T1 | Suspender T1, Iniciar T2 | ||
S1, T1 | Suspender T1, Iniciar T2 | ||
Suporta | Nenhum | Sem Ação | |
S1 | Sem Ação | ||
T1 | Sem Ação | ||
S1, T1 | Sem Ação | ||
Não-suportado | Nenhum | Sem Ação | |
S1 | Sem Ação | ||
T1 | Suspender T1 | ||
S1, T1 | Suspender T1 | ||
Mandatório | Nenhum | Exceção | |
S1 | Exceção | ||
T1 | Sem Ação | ||
S1, T1 | Sem Ação | ||
Nunca | Nenhum | Sem Ação | |
S1 | Sem Ação | ||
T1 | Exceção | ||
S1, T1 | Exceção | ||
Não-suportado | Required | Nenhum | Iniciar T1 |
S1 | Suspender S1, Iniciar T1 | ||
T1 | Sem Ação | ||
S1, T1 | Suspender S1 + T1, Iniciar T2 | ||
Requer novo | Nenhum | Iniciar T1 | |
S1 | Suspender S1, Iniciar T1 | ||
T1 | Suspender T1, Iniciar T2 | ||
S1, T1 | Suspender S1 + T1, Iniciar T2 | ||
Suporta | Nenhum | Sem Ação | |
S1 | Suspender S1 | ||
T1 | Sem Ação | ||
S1, T1 | Suspender S1 + T1 | ||
Não-suportado | Nenhum | Sem Ação | |
S1 | Suspender S1 | ||
T1 | Suspender T1 | ||
S1, T1 | Suspender S1 + T1 | ||
Mandatório | Nenhum | Exceção | |
S1 | Exceção | ||
T1 | Sem Ação | ||
S1,T1 | Exceção | ||
Nunca | Nenhum | Sem Ação | |
S1 | Suspender S1 | ||
T1 | Exceção | ||
S1, T1 | Suspender S1 + T1 | ||
Mandatório | Required | Nenhum | Exceção |
S1 | Iniciar T1 | ||
T1 | Exceção | ||
S1, T1 | Sem Ação | ||
Requer novo | Nenhum | Exceção | |
S1 | Iniciar T1 | ||
T1 | Exceção | ||
S1, T1 | Suspender T1, Iniciar T2 | ||
Suporta | Nenhum | Exceção | |
S1 | Sem Ação | ||
T1 | Exceção | ||
S1, T1 | Sem Ação | ||
Não-suportado | Nenhum | Exceção | |
S1 | Sem Ação | ||
T1 | Exceção | ||
S1, T1 | Suspender T1 | ||
Mandatório | Nenhum | Exceção | |
S1 | Exceção | ||
T1 | Exceção | ||
S1, T1 | Sem Ação | ||
Nunca | Nenhum | Exceção | |
S1 | Sem Ação | ||
T1 | Exceção | ||
S1,T1 | Exceção | ||
Nunca | Required | Nenhum | Iniciar T1 |
S1 | Exceção | ||
T1 | Sem Ação | ||
S1, T1 | Exceção | ||
Requer novo | Nenhum | Iniciar T1 | |
S1 | Exceção | ||
T1 | Suspender T1, Iniciar T2 | ||
S1,T1 | Exceção | ||
Suporta | Nenhum | Sem Ação | |
S1 | Exceção | ||
T1 | Sem Ação | ||
S1,T1 | Exceção | ||
Não-suportado | Nenhum | Sem Ação | |
S1 | Exceção | ||
T1 | Suspender T1 | ||
S1,T1 | Exceção | ||
Mandatório | Nenhum | Exceção | |
S1 | Exceção | ||
T1 | Sem Ação | ||
S1,T1 | Exceção | ||
Nunca | Nenhum | Sem Ação | |
S1 | Exceção | ||
T1 | Exceção | ||
S1,T1 | Exceção | ||
Bean Gerenciado | Bean Gerenciado | Nenhum | Sem Ação |
S1 | Suspender S1 | ||
T1 | Suspender T1 | ||
S1, T1 | Suspender S1 + T1 |