programmera.net -> ejb -> normal för utskrift | info@programmera.net |
MessageDrivenContext
1. MessageDrivenContext 2. Tillåtna anrop på MessageDrivenContext och övriga externa resurser |
1. MessageDrivenContext
En meddelandedriven böna kommunicerar med behållaren genom klassen MessageDrivenContext. En referens till en instans av MessageDrivenContext tilldelas bönan genom att behållaren anropar setMessageDrivenContext() då bönan initieras. MessageDrivenContext ärver av EJBContext men tillför inte några egna metoder, se bilden:
2. Tillåtna anrop på MessageDrivenContext och övriga externa resurser
Metoderna i MessageDrivenContext kan inte anropas var som helst i en meddelandedriven böna. Eftersom en meddelandedriven böna inte har någon klient och inte heller har något Home eller EJBObject-gränssnitt finns det inte så många metoder i MessageDrivenContext som är relevanta att använda. Endast följande anrop är tillåtna i callbackmetoderna mot metoderna i MessageDrivenContext och övriga externa resurser:
MessageDrivenContext och externa resurser Constructor setMessageDrivenContext() ejbCreate() eller ejbRemove() onMessage() 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 Nej Nej Nej getEJBLocalHome() Nej Nej Nej Nej getCallerPrincipal() Nej Nej Nej Nej isCallerInRole() Nej Nej Nej Nej 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: