org.objectweb.jonas.resource
Class LocalXAWrapper

java.lang.Object
  |
  +--org.objectweb.jonas.resource.LocalXAWrapper
All Implemented Interfaces:
javax.transaction.xa.XAResource

public final class LocalXAWrapper
extends java.lang.Object
implements javax.transaction.xa.XAResource

A LocalXAWrapper that intercepts the XA calls for an RAR that only supports LocalTransactions and translates them to the appropriate Local Transaction methods.

Author:
Eric.Hardesty@bull.com

Fields inherited from interface javax.transaction.xa.XAResource
TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY
 
Method Summary
 void commit(javax.transaction.xa.Xid xid, boolean flag)
          Commit the localTransaction, the params aren't used for a local transaction.
 void end(javax.transaction.xa.Xid xid, int i)
          No method to map for a local transaction.
 void forget(javax.transaction.xa.Xid xid)
          No method to map for a local transaction.
 int getTransactionTimeout()
          No method to map for a local transaction, just return no timeout.
 boolean isSameRM(javax.transaction.xa.XAResource xaresource)
          No method to map for a local transaction, just return false4.
 int prepare(javax.transaction.xa.Xid xid)
          No method to map for a local transaction, just return XA_OK.
 javax.transaction.xa.Xid[] recover(int i)
          No method to map for a local transaction.
 void rollback(javax.transaction.xa.Xid xid)
          Rollback the localTransaction, the param isn't used for a local transaction.
 boolean setTransactionTimeout(int i)
          No method to map for a local transaction, just return no timeout.
 void start(javax.transaction.xa.Xid xid, int i)
          Only start a local transaction if a new transaction is being attempted, just return if joining or resuming.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

commit

public void commit(javax.transaction.xa.Xid xid,
                   boolean flag)
            throws javax.transaction.xa.XAException
Commit the localTransaction, the params aren't used for a local transaction.
Specified by:
commit in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException - Exception trying to commit local transaction

end

public void end(javax.transaction.xa.Xid xid,
                int i)
         throws javax.transaction.xa.XAException
No method to map for a local transaction.
Specified by:
end in interface javax.transaction.xa.XAResource

forget

public void forget(javax.transaction.xa.Xid xid)
            throws javax.transaction.xa.XAException
No method to map for a local transaction.
Specified by:
forget in interface javax.transaction.xa.XAResource

getTransactionTimeout

public int getTransactionTimeout()
                          throws javax.transaction.xa.XAException
No method to map for a local transaction, just return no timeout.
Specified by:
getTransactionTimeout in interface javax.transaction.xa.XAResource

isSameRM

public boolean isSameRM(javax.transaction.xa.XAResource xaresource)
                 throws javax.transaction.xa.XAException
No method to map for a local transaction, just return false4.
Specified by:
isSameRM in interface javax.transaction.xa.XAResource

prepare

public int prepare(javax.transaction.xa.Xid xid)
            throws javax.transaction.xa.XAException
No method to map for a local transaction, just return XA_OK.
Specified by:
prepare in interface javax.transaction.xa.XAResource

recover

public javax.transaction.xa.Xid[] recover(int i)
                                   throws javax.transaction.xa.XAException
No method to map for a local transaction.
Specified by:
recover in interface javax.transaction.xa.XAResource

rollback

public void rollback(javax.transaction.xa.Xid xid)
              throws javax.transaction.xa.XAException
Rollback the localTransaction, the param isn't used for a local transaction.
Specified by:
rollback in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException - Exception trying to rollback local transaction

setTransactionTimeout

public boolean setTransactionTimeout(int i)
                              throws javax.transaction.xa.XAException
No method to map for a local transaction, just return no timeout.
Specified by:
setTransactionTimeout in interface javax.transaction.xa.XAResource

start

public void start(javax.transaction.xa.Xid xid,
                  int i)
           throws javax.transaction.xa.XAException
Only start a local transaction if a new transaction is being attempted, just return if joining or resuming.
Specified by:
start in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException - Transaction already started or error starting a new local transaction