Hey Edward
Originally posted by Edward Chen:
Q27. A stateful session bean ProcessOrder with container-managed transaction demarcation accesses another session bean ConfirmOrder. In which of the following methods ProcessOrder bean can access ConfirmOrder bean (select two):
A.setSessionContext
B.business methods from component interface
C.methods from javax.ejb.SessionBean interface
D.methods from javax.ejb.SessionSynchronization interface
softSCBCD give the answer: B. C . But I think only B is correct. Am I right?
I think you may be right. setSessionContext method is from javax.ejb.SessionBean and bean access is not allowed from this method.
Originally posted by Edward Chen:
---------
Entity beans
in the Home , create has to name transaction, therefore, ejbCreate()/ ejbPostcreate() in the Bean class has SAME transaction. This is correct?
That is correct. Page 172 of the spec says
An ejbPostCreate<METHOD>(...) method executes in the same transaction context as the previous ejbCreate<METHOD>(...) method.
Originally posted by Edward Chen:
if correct, then how about remove, we have different remove() in the Object and Home, so ejbRemove() should follow which transaction?
ejbRemove() runs in the same transaction context as the remove() method that initiated it.
Page 173 of the spec says:
This method and the database delete operation(s) execute in the transaction context determined by the transaction attribute of the remove method that triggered the ejbRemove method.
Hope this helps