programmera.net -> ejb -> normal för utskrift | info@programmera.net |
SessionContext för en tillståndslös sessionsböna
1. SessionContext 2. Tillåtna anrop på SessionContext och övriga externa resurser |
1. SessionContext
En sessionsböna kommunicerar med behållaren genom klassen SessionContext. En referens till en instans av SessionContext tilldelas bönan genom att behållaren anropar setSessionContext() då bönan initieras. SessionContext ärver av EJBContext och tillför två egna metoder, se bilden:
2. Tillåtna anrop på SessionContext och övriga externa resurser
Metoderna i SessionContext kan inte anropas var som helst i en tillståndslös sessionsböna. Nedan visas vilka anrop som är tillåtna för en tillståndslös sessionsböna mot SessionContext och övriga externa resurser:
SessionContext och externa resurser Constructor setSessionContext() ejbCreate() eller ejbRemove() affärsmetod Tillgång till JNDI Nej Ja Ja Ja Tillgång till andra bönor Nej Nej Nej Ja Tillgång till resurshanterare Nej Nej Nej Ja getEJBHome() Nej Ja Ja Ja getEJBLocalHome() Nej Ja Ja Ja getCallerPrincipal() Nej Nej Nej Ja isCallerInRole() Nej Nej Nej Ja getUserTransaction() [BMT] Nej Nej Ja Ja getRollbackOnly() [CMT] Nej Nej Nej Ja setRollbackOnly() [CMT] Nej Nej Nej Ja
Om du gör ett anrop som inte är tillåtet kommer undantaget java.lang.IllegalStateException att kastas. Märk följande: