File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes EJB and other Java EE Technologies and the fly likes Transaction-propagation Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Transaction-propagation" Watch "Transaction-propagation" New topic


Oliver Rensen
Ranch Hand

Joined: Jul 23, 2004
Posts: 109

Hello ranchers,

I have a doubt regarding transaction-propagation.

In a session-bean a method is started with the tx-attribute RequiresNew. This method calls an application-service (a POJO). The application-service contains business-logik and calls an entity-bean for persistence. The methods in the entity-bean have all the tx-attribute Mandatory.

Does the transaction from the session-bean-method (created with RequiresNew) will be propagated through the POJO-application-service to the entity-bean?

Is the POJO be able to rollback the transaction?

When the session-bean would be directly call the entity-bean, it would be clear, that the transaction will be propagated from the session-bean to the entity-bean. But what happens if there is a POJO between session-bean and entity-bean?

Nitesh Kant

Joined: Feb 25, 2007
Posts: 1638

Hi Oliver,
Transaction contexts are stored in thread local variables.
So, if the POJO does not spawn a new thread(not allowed as per ejb specs) and call the entity bean in that thread, the transaction context will be propagated to the entity bean.
Will the POJO be able to rollback the transaction?

Yes, if the session bean provides it with its user transaction object(BMT) OR session context object(CMT).

apigee, a better way to API!
Oliver Rensen
Ranch Hand

Joined: Jul 23, 2004
Posts: 109

Nitesh, thanks a lot for your help.
I agree. Here's the link:
subject: Transaction-propagation
It's not a secret anymore!