• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Transaction is rolledback in ejbCreate(), ejbPostCreate(), or ejbRemove() and

 
Narasimha Rao B.
Ranch Hand
Posts: 205
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
Please clarify me the below doubt,

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?


Thanks in Advance
 
Keerthi P
Ranch Hand
Posts: 203
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Narasimha Rao B.
Ranch Hand
Posts: 205
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Naslai Shobha
Greenhorn
Posts: 12
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 Reply
  • Bookmark Topic Watch Topic
  • New Topic