Statefull Session EJB(2.1)朇lient Crashed朒ow to rollback the transaction?

I wish to begin a transaction (JTA) in one method of a statefull BMP EJB, call multiple methods from multiple client calls (which could even be JSPs/Servlets initiated by the user from his browser in a session), all the methods are in same transaction and would process the client input in the same transaction, and finally the transaction would be committed in the last method.

I am testing this in JDeveloper 10.1.3.0.2

All this works fine. But when the client crashes how do I rollback the transaction which was started by the client?

I understand that the ejbTimeout and timer service is for stateless session beans, not statefull. So that could not be used. Am I correct on that?

I tried setting time out in orion deployment descriptor of the EJB. It just marks the transaction as STATUS_MARKED_ROLLBACK, the pending updates to data are not rolled back by the container/transaction manager ?causing issues to other clients trying to access data.

Also I tried setTRansactionTimeOut() on the user transaction. But that marks the transaction for rollback, does not do actual rollback.

I tried doing rollback in ejbRemove/Passivate. But they do not get called while the bean is associated with the transaction.

So how is this to be handled?

Many thanks & regards

[1324 byte] By [nag1610a] at [2007-11-27 10:01:17]
# 1
Any suggestions?
nag1610a at 2007-7-13 0:33:25 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...