Win a copy of Machine Learning Systems: Designs that scale this week in the Scala forum
or Xamarin in Action: Creating native cross-platform mobile apps in the Android forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

CMP & BMT  RSS feed

 
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a question about transaction. For component-managed persistance session beans and MDBs, can they use bean managed transaction? Are they contradict?
Thanks in advance!
 
Ranch Hand
Posts: 191
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Any session or MDBs can use either container managed transaction (CMT) demarcation or BMT . 2.0 Entity beans must use only CMT.
Persistence has nothing to do with transactions, these are totally different areas.
Only the implementation has some kind of similarity. Both CMP and CMT are used thru deployment descriptor elements, whereas BMP uses progarmming thru JDBC and BMT uses programming thru javax.transaction APIs.
Thanks, Sudd
 
XueRong Weng
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks a lot for clarifying the concept. I'm much clearer now.
I have one more question. On my book, it is stated BMT beans must not use the setRollbackOnly() and getRollbackOnly. What's the reason behind?
 
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
BMT beans (only session and MDB) call setRollbackOnly() and getStatus() method on the javax.transaction.UserTransaction, which you get from calling javax.ejb.EJBContext.getUserTransaction() method.
BTM bean will get IllegalStateException if it invokes setRollbackOnly() or getRollbackOnly() directly on EJBContext.
Hope this helps.
 
Did you just should on me? You should read this tiny ad:
Rocket Oven Kickstarter - from the trailboss
https://coderanch.com/t/695773/Rocket-Oven-Kickstarter-trailboss
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!