• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Promlem with Transactions in EJB

 
Dilip Maddala
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I am facing a problem with using SessionContext's setRollbackOnly method.
I am having 3 EJB's(Suppose A,B,C) in which A calls a method in B and this method calls a method in C.
I perform a database operation, where it waits for a lock and finally database transaction times out and finally the exception is passed back to A.
And finally in A, i call the setRollbackOnly method, where it throws the java.lang.IllegalStateException saying 'Cannot mark the transaction for rollback'.

All the three beans are container managed and i have a transaction attribute 'Required' set in the descriptor file.

Can some one help me out with this.

Regards,
Dilip
 
Roger Chung-Wee
Ranch Hand
Posts: 1683
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When the transaction times out, there is nothing to rollback. Usually, 30 seconds is plenty of time for a transaction to complete (this is the default transaction timeout for some EJB servers). If it taking longer, you need to find out why.
 
Dilip Maddala
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The problem is solved but
I have this EJB as a webservice which and when the Transaction is Timed out in the EJB, the same exception is being thrown at the soap client as response.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic