Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Doubt in BMT

 
kumar mahesh
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
...
UserTransaction ut = validContext.getUserTransaction();
ut.begin();
......
ut.setRollbackOnly();
.......
ut.commit();


Is it correct to invoke the setRollBackOnly method in a BMT. What will happen when this method is invoked?
 
Nikhil Jain
Ranch Hand
Posts: 392
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This works. UserTransaction can invoke setRollbackOnly method. But this method should be of UserTransaction rather than EJBContext.

I tried this, javax.persistence.TransactionRequiredException: EntityManager must be access within a transaction & on the client it said
BMT stateful bean 'Process' did not complete user transaction properly status=STATUS_MARKED_ROLLBACK.

But why did it give such error on the server. Should'nt it have given a better exception like, EJBTransactionRolledbackException .Exception etc
 
Nikhil Jain
Ranch Hand
Posts: 392
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
ejbContext.setRollbackOnly();

In CMT, this method causes TransactionRequiredException. But it should be transactionRolledBackexception. This error is generated when server tries to commit.

Any Idea?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic