Richtlinien für ActivitySessions und Transaktionscontainer in Kombination
Dieser Abschnitt enthält detaillierte Informationen zur Beziehung zwischen den Implementierungsdeskriptoreigenschaften, die festlegen, wie der Container die Grenzen der ActivitySession verwaltet.
Wenn eine Enterprise-Bean ActivitySessions verwendet, dann ist die Art und Weise, wie der EJB-Container die ActivitySession-Grenzen beim Delegieren eines Methodenaufrufs verwaltet, abhängig von den Implementierungsdeskriptorattributen ActivitySession-Typ und Containertransaktionstyp, die für die Enterprise-Bean konfiguriert wurden. In der folgenden Tabelle werden die Beziehungen zwischen diesen beiden Eigenschaften aufgelistet.
- Sn
- Eine ActivitySession, wobei n die Instanz der ActivitySession angibt.
- Tn
- Eine Transaktion, wobei n die Instanz der Transaktion angibt.
In jedem Fall, in dem der Container keinen dem Thread zugeordneten Kontext einer globalen Transaktion startet oder beendet, startet er eine LTC (Local Transaction Containment) (oder erhält sie von der Bean-Instanz) und ordnet sie dem Thread zu. Die Dauer der LTC (Local Transation Containment) wird festgelegt als Kombination des Deskriptors für die LTC-Grenze (der als Teil des Implementierungsdeskriptors der Anwendung konfiguriert wird und in der folgenden Tabelle nicht enthalten ist) und dem Vorhandensein oder Nichtvorhandensein eines ActivitySession-Kontexts wie in ActivitySessions und Transaktionskontexte beschrieben.
Die in Fettdruck hervorgehobenen Angaben sind nicht zulässig.
Bean-Aktivitätssitzungsrichtlinie (Aktivitätssitzungstyp) | Bean-Transaktionsrichtlinie (Containertransaktionstyp) | Empfangene Kontexte | Containerverhalten |
---|---|---|---|
Erforderlich | Erforderlich | Ohne | S1 wird gestartet, T1 wird gestartet |
S1 | T1 wird gestartet | ||
T1 | T1 wird zurückgestellt, S1 wird gestartet, T2 wird gestartet | ||
S1, T1 | Keine Aktion | ||
Erfordert neue(n) | Ohne | S1 wird gestartet, T1 wird gestartet | |
S1 | T1 wird gestartet | ||
T1 | T1 wird zurückgestellt, S1 wird gestartet, T2 wird gestartet | ||
S1, T1 | T1 wird zurückgestellt, T2 wird gestartet | ||
Unterstützt | Ohne | S1 wird gestartet | |
S1 | Keine Aktion | ||
T1 | T1 wird zurückgestellt, S1 wird gestartet | ||
S1, T1 | Keine Aktion | ||
Nicht unterstützt | Ohne | S1 wird gestartet | |
S1 | Keine Aktion | ||
T1 | T1 wird zurückgestellt, S1 wird gestartet | ||
S1, T1 | T1 wird zurückgestellt | ||
Verbindlich | Ohne | Ausnahme | |
S1 | Ausnahme | ||
T1 | Ausnahme | ||
S1, T1 | Keine Aktion | ||
Nie | Ohne | S1 wird gestartet | |
S1 | Keine Aktion | ||
T1 | T1 wird zurückgestellt, S1 wird gestartet | ||
S1, T1 | Ausnahme | ||
Erfordert neue(n) | Erforderlich | Ohne | S1 + T1 werden gestartet |
S1 | S1 wird zurückgestellt, S2 + T1 werden gestartet | ||
T1 | T1 wird zurückgestellt, S1 + T2 werden gestartet | ||
S1 + T1 | S1 + T1 werden zurückgestellt, S2 + T2 werden gestartet | ||
Erfordert neue(n) | Ohne | S1 + T1 werden gestartet | |
S1 | S1 wird zurückgestellt, S2 + T1 werden gestartet | ||
T1 | T1 wird zurückgestellt, S1 + T2 werden gestartet | ||
S1 + T1 | S1 + T1 werden zurückgestellt, S2 + T2 werden gestartet | ||
Unterstützt | Ohne | S1 wird gestartet | |
S1 | S1 wird zurückgestellt, S2 wird gestartet | ||
T1 | T1 wird zurückgestellt, S1 wird gestartet | ||
S1, T1 | S1 + T1 werden zurückgestellt, S2 wird gestartet | ||
Nicht unterstützt | Ohne | S1 wird gestartet | |
S1 | S1 wird zurückgestellt, S2 wird gestartet | ||
T1 | T1 wird zurückgestellt, S1 wird gestartet | ||
S1, T1 | S1 + T1 werden zurückgestellt, S2 wird gestartet | ||
Verbindlich | Ohne | Ausnahme | |
S1 | Ausnahme | ||
T1 | Ausnahme | ||
S1, T1 | Ausnahme | ||
Nie | Ohne | S1 wird gestartet | |
S1 | S1 wird zurückgestellt, S2 wird gestartet | ||
T1 | T1 wird zurückgestellt, S1 wird gestartet | ||
S1, T1 | S1 + T1 werden zurückgestellt, S2 wird gestartet | ||
Unterstützt | Erforderlich | Ohne | T1 wird gestartet |
S1 | T1 wird gestartet | ||
T1 | Keine Aktion | ||
S1, T1 | Keine Aktion | ||
Erfordert neue(n) | Ohne | T1 wird gestartet | |
S1 | T1 wird gestartet | ||
T1 | T1 wird zurückgestellt, T2 wird gestartet | ||
S1, T1 | T1 wird zurückgestellt, T2 wird gestartet | ||
Unterstützt | Ohne | Keine Aktion | |
S1 | Keine Aktion | ||
T1 | Keine Aktion | ||
S1, T1 | Keine Aktion | ||
Nicht unterstützt | Ohne | Keine Aktion | |
S1 | Keine Aktion | ||
T1 | T1 wird zurückgestellt | ||
S1, T1 | T1 wird zurückgestellt | ||
Verbindlich | Ohne | Ausnahme | |
S1 | Ausnahme | ||
T1 | Keine Aktion | ||
S1, T1 | Keine Aktion | ||
Nie | Ohne | Keine Aktion | |
S1 | Keine Aktion | ||
T1 | Ausnahme | ||
S1, T1 | Ausnahme | ||
Nicht unterstützt | Erforderlich | Ohne | T1 wird gestartet |
S1 | S1 wird zurückgestellt, T1 wird gestartet | ||
T1 | Keine Aktion | ||
S1, T1 | S1 + T1 werden zurückgestellt, T2 wird gestartet | ||
Erfordert neue(n) | Ohne | T1 wird gestartet | |
S1 | S1 wird zurückgestellt, T1 wird gestartet | ||
T1 | T1 wird zurückgestellt, T2 wird gestartet | ||
S1, T1 | S1 + T1 werden zurückgestellt, T2 wird gestartet | ||
Unterstützt | Ohne | Keine Aktion | |
S1 | S1 wird zurückgestellt | ||
T1 | Keine Aktion | ||
S1, T1 | S1 + T1 werden zurückgestellt | ||
Nicht unterstützt | Ohne | Keine Aktion | |
S1 | S1 wird zurückgestellt | ||
T1 | T1 wird zurückgestellt | ||
S1, T1 | S1 + T1 werden zurückgestellt | ||
Verbindlich | Ohne | Ausnahme | |
S1 | Ausnahme | ||
T1 | Keine Aktion | ||
S1,T1 | Ausnahme | ||
Nie | Ohne | Keine Aktion | |
S1 | S1 wird zurückgestellt | ||
T1 | Ausnahme | ||
S1, T1 | S1 + T1 werden zurückgestellt | ||
Verbindlich | Erforderlich | Ohne | Ausnahme |
S1 | T1 wird gestartet | ||
T1 | Ausnahme | ||
S1, T1 | Keine Aktion | ||
Erfordert neue(n) | Ohne | Ausnahme | |
S1 | T1 wird gestartet | ||
T1 | Ausnahme | ||
S1, T1 | T1 wird zurückgestellt, T2 wird gestartet | ||
Unterstützt | Ohne | Ausnahme | |
S1 | Keine Aktion | ||
T1 | Ausnahme | ||
S1, T1 | Keine Aktion | ||
Nicht unterstützt | Ohne | Ausnahme | |
S1 | Keine Aktion | ||
T1 | Ausnahme | ||
S1, T1 | T1 wird zurückgestellt | ||
Verbindlich | Ohne | Ausnahme | |
S1 | Ausnahme | ||
T1 | Ausnahme | ||
S1, T1 | Keine Aktion | ||
Nie | Ohne | Ausnahme | |
S1 | Keine Aktion | ||
T1 | Ausnahme | ||
S1,T1 | Ausnahme | ||
Nie | Erforderlich | Ohne | T1 wird gestartet |
S1 | Ausnahme | ||
T1 | Keine Aktion | ||
S1, T1 | Ausnahme | ||
Erfordert neue(n) | Ohne | T1 wird gestartet | |
S1 | Ausnahme | ||
T1 | T1 wird zurückgestellt, T2 wird gestartet | ||
S1,T1 | Ausnahme | ||
Unterstützt | Ohne | Keine Aktion | |
S1 | Ausnahme | ||
T1 | Keine Aktion | ||
S1,T1 | Ausnahme | ||
Nicht unterstützt | Ohne | Keine Aktion | |
S1 | Ausnahme | ||
T1 | T1 wird zurückgestellt | ||
S1,T1 | Ausnahme | ||
Verbindlich | Ohne | Ausnahme | |
S1 | Ausnahme | ||
T1 | Keine Aktion | ||
S1,T1 | Ausnahme | ||
Nie | Ohne | Keine Aktion | |
S1 | Ausnahme | ||
T1 | Ausnahme | ||
S1,T1 | Ausnahme | ||
Bean-gesteuert | Bean-gesteuert | Ohne | Keine Aktion |
S1 | S1 wird zurückgestellt | ||
T1 | T1 wird zurückgestellt | ||
S1, T1 | S1 + T1 werden zurückgestellt |