This week's book giveaway is in the Design forum.
We're giving away four copies of Design for the Mind and have Victor S. Yocco on-line!
See this thread for details.
Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Transaction-propagation

 
Oliver Rensen
Ranch Hand
Posts: 109
Eclipse IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?

Regards,
Oliver
 
Nitesh Kant
Bartender
Posts: 1638
IntelliJ IDE Java MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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).
 
Oliver Rensen
Ranch Hand
Posts: 109
Eclipse IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Nitesh, thanks a lot for your help.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic