• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Transaction attribute Require New in EJB

 
kevin zhou
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a question on EJB's Required New transation attribute.

The book says that Require New means to suspend the client's transaction, and start a new transaction when invoking the method.

My question is, when using a single database, if the client did some updates to the database and then call EJB's method, how the Transaction Manager suspend the client's transaction context?

For Example, the client update the table CUSTOMER, and then call PayEJB.pay(), which has a Required New attribute and the the transaction failed. Would the rollback undo the updates in CUSTOMER?

Thanks!
 
Ganesh Krishnan
Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi ,

If the Transaction property is set to Requires New for a method .. then either a commit/rollback inside that method will not affect the transaction in the calling method.

In your example, the update to CUSTOMER table will not be rollbacked.
 
kevin zhou
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks.

I'm just wondering the meachism of the Transaction Manager. At this situation, TM may get a new connection from the connection pool, then the previous transaction context could be saved.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic