org.infinispan.transaction.xa
Class TransactionXaAdapter

java.lang.Object
  extended by org.infinispan.transaction.AbstractEnlistmentAdapter
      extended by org.infinispan.transaction.xa.TransactionXaAdapter
All Implemented Interfaces:
XAResource

public class TransactionXaAdapter
extends AbstractEnlistmentAdapter
implements XAResource

This acts both as an local CacheTransaction and implementor of an XAResource that will be called by tx manager on various tx stages.

Since:
4.0
Author:
Mircea.Markus@jboss.com

Field Summary
 
Fields inherited from class org.infinispan.transaction.AbstractEnlistmentAdapter
config
 
Fields inherited from interface javax.transaction.xa.XAResource
TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY
 
Constructor Summary
TransactionXaAdapter(LocalXaTransaction localTransaction, TransactionTable txTable, RecoveryManager rm, TransactionCoordinator txCoordinator, CommandsFactory commandsFactory, RpcManager rpcManager, ClusteringDependentLogic clusteringDependentLogic, Configuration config)
           
TransactionXaAdapter(TransactionTable txTable, RecoveryManager rm, TransactionCoordinator txCoordinator, CommandsFactory commandsFactory, RpcManager rpcManager, ClusteringDependentLogic clusteringDependentLogic, Configuration config)
           
 
Method Summary
 void commit(Xid externalXid, boolean isOnePhase)
          Same comment as for prepare(javax.transaction.xa.Xid) applies for commit.
 void end(Xid externalXid, int i)
           
 boolean equals(Object o)
           
 void forget(Xid externalXid)
           
 LocalXaTransaction getLocalTransaction()
           
 int getTransactionTimeout()
           
 boolean isSameRM(XAResource xaResource)
          the only situation in which it returns true is when the other xa resource pertains to the same cache, on the same node.
 int prepare(Xid externalXid)
          This can be call for any transaction object.
 Xid[] recover(int flag)
           
 void rollback(Xid externalXid)
          Same comment as for prepare(javax.transaction.xa.Xid) applies for commit.
 boolean setTransactionTimeout(int i)
           
 void start(Xid externalXid, int i)
           
 String toString()
           
 
Methods inherited from class org.infinispan.transaction.AbstractEnlistmentAdapter
hashCode, releaseLocksForCompletedTransaction
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TransactionXaAdapter

public TransactionXaAdapter(LocalXaTransaction localTransaction,
                            TransactionTable txTable,
                            RecoveryManager rm,
                            TransactionCoordinator txCoordinator,
                            CommandsFactory commandsFactory,
                            RpcManager rpcManager,
                            ClusteringDependentLogic clusteringDependentLogic,
                            Configuration config)

TransactionXaAdapter

public TransactionXaAdapter(TransactionTable txTable,
                            RecoveryManager rm,
                            TransactionCoordinator txCoordinator,
                            CommandsFactory commandsFactory,
                            RpcManager rpcManager,
                            ClusteringDependentLogic clusteringDependentLogic,
                            Configuration config)
Method Detail

prepare

public int prepare(Xid externalXid)
            throws XAException
This can be call for any transaction object. See Section 3.4.6 (Resource Sharing) from JTA spec v1.1.

Specified by:
prepare in interface XAResource
Throws:
XAException

commit

public void commit(Xid externalXid,
                   boolean isOnePhase)
            throws XAException
Same comment as for prepare(javax.transaction.xa.Xid) applies for commit.

Specified by:
commit in interface XAResource
Throws:
XAException

rollback

public void rollback(Xid externalXid)
              throws XAException
Same comment as for prepare(javax.transaction.xa.Xid) applies for commit.

Specified by:
rollback in interface XAResource
Throws:
XAException

start

public void start(Xid externalXid,
                  int i)
           throws XAException
Specified by:
start in interface XAResource
Throws:
XAException

end

public void end(Xid externalXid,
                int i)
         throws XAException
Specified by:
end in interface XAResource
Throws:
XAException

forget

public void forget(Xid externalXid)
            throws XAException
Specified by:
forget in interface XAResource
Throws:
XAException

getTransactionTimeout

public int getTransactionTimeout()
                          throws XAException
Specified by:
getTransactionTimeout in interface XAResource
Throws:
XAException

isSameRM

public boolean isSameRM(XAResource xaResource)
                 throws XAException
the only situation in which it returns true is when the other xa resource pertains to the same cache, on the same node.

Specified by:
isSameRM in interface XAResource
Throws:
XAException

recover

public Xid[] recover(int flag)
              throws XAException
Specified by:
recover in interface XAResource
Throws:
XAException

setTransactionTimeout

public boolean setTransactionTimeout(int i)
                              throws XAException
Specified by:
setTransactionTimeout in interface XAResource
Throws:
XAException

toString

public String toString()
Overrides:
toString in class Object

getLocalTransaction

public LocalXaTransaction getLocalTransaction()

equals

public boolean equals(Object o)
Overrides:
equals in class Object

-->

Copyright © 2012 JBoss, a division of Red Hat. All Rights Reserved.