Hi Can anybody explain me why entity bean's ejbActivate method can't do following on EntityContext 1. get security information about client. 2. force a transaction to rollback(CMT beans) 3. find out if the transaction has already been set to rollback(CMT beans) 4. get a transaction reference, and call methods on it (BMT beans only, so entities can't use this) Regards Mini
Originally posted by Nathaniel Stoddard: The answer to all your questions is no due to the fact that there is no client during ejbActivate. Therefore there is no transaction.
I guess ejbActivate method of entity bean is called by container when the bean is picked up from the pool to serve a client when it invokes the entity beans business method. So there is a client during ejbActivate. Can I ask authors of HFE to explain the above, as most of the stuff related to SessionContext and EntityContext with regards to beanness is not explained properly. Thanks Mini
The way I remember it (not really true "why") is to follow a bean through a lifecycle. Entity beans are CMT beans and say we were in a transaction and am about to get passivated - oops no-can-do! The only time the container would passivate me is if I was NOT in a transaction. So since the only time passivate is used is for beans not in a transaction, they don't need to get to the transaction stuff. Then for activate, I just remember that it's only logical that the bean is just on it's way back to method ready, and would have the same thing as it left with. --Dale--