Class LrcXAResource

java.lang.Object
bitronix.tm.resource.jms.lrc.LrcXAResource
All Implemented Interfaces:
XAResource

public class LrcXAResource extends Object implements XAResource
XAResource implementation for a non-XA JMS connection emulating XA with Last Resource Commit.

The XA protocol flow is implemented by this state machine:

 NO_TX
   |
   | start(TMNOFLAGS)
   |
   |       end(TMFAIL)
 STARTED -------------- NO_TX
   |
   | end(TMSUCCESS)
   |
   |    start(TMJOIN)
 ENDED ---------------- STARTED
   |\
   | \  commit (one phase)
   |  ----------------- NO_TX
   |
   | prepare()
   |
   |       commit() or
   |       rollback()
 PREPARED ------------- NO_TX
 
XAResource.TMSUSPEND and XAResource.TMRESUME are not supported.
Author:
lorban