An attempt to remove a session object while the object is in a transaction will cause the container to throw the javax.ejb.RemoveException to the client.
I was trying to come up with a scenario where a session object using CMP could be in a trasaction when remove was called but could not. My understanding is that all business methods that run in a transaction context will complete their transaction before returning and therefore when remove is called the object will no longer be in a transcation. Since this statement is in the spec, I assume that it is possible for the object to be in a transaction when remove is called. Can anyone please describe a scenario where this is the case. Thanks,
Hei Keith, As far as i understand, Let's say client A is invoking a getAdviceFrom()method in AdviceBean with transaction, if client B tries to remove the AdviceBean, then container throws RemoveException. The invoked method must return before the AdviceBean can be removed. Anybody has any explanation,please?
Hi Tulsi: I don't understand. How does client B even get a hold of the bean since it should be exclusive to one client? Even if does, I thought that the container would serialize calls to the bean, therefore it will not call remove() until getAdviceFrom() is complete. I am not sure what the source of my confusion is. Am I making an assumtion that is incorrect? Please help me clear up my confusion. Thanks,