programmera.net -> ejb -> normal för utskrift | info@programmera.net |
EntityContext
1. EntityContext 2. Tillåtna anrop på EntityContext och övriga externa resurser |
1. EntityContext
En entitetsböna kommunicerar med behållaren genom klassen EntityContext. En referens till en instans av EntityContext tilldelas bönan genom att behållaren anropar setEntityContext() då bönan initieras. EntityContext ärver av EJBContext och tillför tre metoder, se bilden:
2. Tillåtna anrop på EntityContext och övriga externa resurser
Metoderna i EntityContext kan inte anropas från vilken metod som helst i en entitetsböna. Tabellen nedan beskriver vilka callbackmetoder som får göra vad med EntityContext och övriga externa resurser:
EntityContext och externa resurser Constructor setEntityContext() unsetEntityContext() ejbActivate() ejbPassivate() ejbHomeX() ejbFindX() ejbSelectX() 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 Nej Nej getRollbackOnly() [CMT] Nej Nej Nej Ja setRollbackOnly() [CMT] Nej Nej Nej Ja getEJBObject() Nej Nej Nej Nej getEJBLocalObject() Nej Nej Nej Nej getPrimaryKey() Nej Nej Ja Nej
Tabellen fortsätter nedan för de övriga metoderna:
EntityContext och externa resurser ejbCreateX() ejbPostCreateX() ejbRemove() ejbLoad() ejbStore() affärsmetod Tillgång till JNDI Ja Ja Ja Ja Tillgång till andra bönor Ja Ja Ja Ja Tillgång till resurshanterare Ja Ja Ja Ja getEJBHome() Ja Ja Ja Ja getEJBLocalHome() Ja Ja Ja Ja getCallerPrincipal() Ja Ja Ja Ja isCallerInRole() Ja Ja Ja Ja getUserTransaction() [BMT] Nej Nej Nej Nej getRollbackOnly() [CMT] Ja Ja Ja Ja setRollbackOnly() [CMT] Ja Ja Ja Ja getEJBObject() Nej Ja Ja Ja getEJBLocalObject() Nej Ja Ja Ja getPrimaryKey() Nej Ja Ja Ja
Om du gör ett anrop som inte är tillåtet kommer undantaget java.lang.IllegalStateException att kastas. Märk följande: