1. If the transaction is rolled back in any of the above three method, to which state bean will be moved? Is bean is moved to pooled state or method ready state.
2. In an entity bean, if the client gets the RuntimeException, (1) can he continue with that EJBObject? (2) Will the container creates new instance of the bean for the client?
1. If the transaction is rolled back in any of the above three method, to which state bean will be moved? Is bean is moved to pooled state or method ready state. --- Can u tell which 3 methods you are talking about here? Since you are mentioning that transaction is getting rolled back, I assume that the bean is in method-ready state. In any case, the bean instance will be discarded/killed - goes to does-not-exist state.
2. In an entity bean, if the client gets the RuntimeException, (1) can he continue with that EJBObject? -- The bean instance will be killed. If the client still has reference to EJBObject and invokes methods on it, it receives java.rmi.NoSuchObjectException.
(2) Will the container creates new instance of the bean for the client?
-- Depends. If an instance is available in the pool, it can take one from there. Otherwise, a new instance will be created.
Originally posted by Keerthi P: 1. If the transaction is rolled back in any of the above three method, to which state bean will be moved? Is bean is moved to pooled state or method ready state. --- Can u tell which 3 methods you are talking about here? Since you are mentioning that transaction is getting rolled back, I assume that the bean is in method-ready state. In any case, the bean instance will be discarded/killed - goes to does-not-exist state.
2. In an entity bean, if the client gets the RuntimeException, (1) can he continue with that EJBObject? -- The bean instance will be killed. If the client still has reference to EJBObject and invokes methods on it, it receives java.rmi.NoSuchObjectException.
(2) Will the container creates new instance of the bean for the client?
-- Depends. If an instance is available in the pool, it can take one from there. Otherwise, a new instance will be created.
For Question 1 - I mean three methods are, ejbCreate(), ejbPostCreate(), or ejbRemove(). i.e. if the transaction is rolled back while executing any of these 3 methods.
Originally posted by Keerthi P: 1. If the transaction is rolled back in any of the above three method, to which state bean will be moved? Is bean is moved to pooled state or method ready state.
in the ejbCreate()/ejbPostCreate()/ejbRemove() methods in the case of an entity bean the instance will move from ready state to pooled state, If a transaction is rollback.
the following is an excerpt from the spec
the container will transition the instance to the pooled state. There are three possible transitions from the ready to the pooled state: through the ejbPassivate() method, through the ejbRemove() method, and because of a transaction rollback for ejbCreate(), ejbPostCreate(), or ejbRemove()
2. In an entity bean, if the client gets the RuntimeException, (1) can he continue with that EJBObject? -- The bean instance will be killed. If the client still has reference to EJBObject and invokes methods on it, it receives java.rmi.NoSuchObjectException.
(2) Will the container creates new instance of the bean for the client?
-- Depends. If an instance is available in the pool, it can take one from there. Otherwise, a new instance will be created
Post by:autobot
If I'd had more time, I would have written a shorter letter. -T.S. Eliot such a short, tiny ad:
a bit of art, as a gift, the permaculture playing cards