|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.infinispan.transaction.xa.recovery.RecoveryManagerImpl
public class RecoveryManagerImpl
Default implementation for RecoveryManager
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.infinispan.transaction.xa.recovery.RecoveryManager |
---|
RecoveryManager.RecoveryIterator |
Constructor Summary | |
---|---|
RecoveryManagerImpl(ConcurrentMap<RecoveryInfoKey,RecoveryAwareRemoteTransaction> recoveryHolder,
String cacheName)
|
Method Summary | |
---|---|
List<Xid> |
getLocalInDoubtTransactions()
A transaction is in doubt if it is org.infinispan.transaction.RemoteTransaction#isInDoubt() . |
RemoteTransaction |
getPreparedTransaction(Xid xid)
|
ConcurrentMap<RecoveryInfoKey,RecoveryAwareRemoteTransaction> |
getPreparedTransactions()
|
RecoveryManager.RecoveryIterator |
getPreparedTransactionsFromCluster()
Returns the list of transactions in prepared state both from local and remote cluster nodes. |
void |
init(RpcManager rpcManager,
CommandsFactory commandsFactory,
TransactionTable txTable)
|
void |
nodesLeft(List<Address> leavers)
|
void |
registerPreparedTransaction(RecoveryAwareRemoteTransaction remoteTransaction)
|
void |
removeLocalRecoveryInformation(List<Xid> xids)
Remove recovery information stored on this node (doesn't involve any rpc). |
void |
removeRecoveryInformation(Collection<Address> lockOwners,
Xid xid,
boolean sync)
Removes from the specified nodes (or all nodes if value of param 'where' is null) the recovery information associated with these Xids. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RecoveryManagerImpl(ConcurrentMap<RecoveryInfoKey,RecoveryAwareRemoteTransaction> recoveryHolder, String cacheName)
Method Detail |
---|
public void init(RpcManager rpcManager, CommandsFactory commandsFactory, TransactionTable txTable)
public RecoveryManager.RecoveryIterator getPreparedTransactionsFromCluster()
RecoveryManager
- in order to get all tx from the cluster a broadcast is performed. This can be performed only once (assuming the call is successful), the first time this method is called. After that a local, cached list of tx prepared on this node is returned. - during the broadcast just return the list of prepared transactions that are not originated on other active nodes of the cluster.
getPreparedTransactionsFromCluster
in interface RecoveryManager
public void removeRecoveryInformation(Collection<Address> lockOwners, Xid xid, boolean sync)
RecoveryManager
removeRecoveryInformation
in interface RecoveryManager
lockOwners
- on which nodes should this be executed.xid
- the list of xids to be removed.sync
- weather or not this call should be executed syncpublic void removeLocalRecoveryInformation(List<Xid> xids)
RecoveryManager
removeLocalRecoveryInformation
in interface RecoveryManager
xids
- which recovery info to removeRecoveryManager.removeRecoveryInformation(java.util.Collection, javax.transaction.xa.Xid, boolean)
public List<Xid> getLocalInDoubtTransactions()
org.infinispan.transaction.RemoteTransaction#isInDoubt()
.
getLocalInDoubtTransactions
in interface RecoveryManager
org.infinispan.transaction.RemoteTransaction#isInDoubt()
public void registerPreparedTransaction(RecoveryAwareRemoteTransaction remoteTransaction)
public void nodesLeft(List<Address> leavers)
public RemoteTransaction getPreparedTransaction(Xid xid)
public ConcurrentMap<RecoveryInfoKey,RecoveryAwareRemoteTransaction> getPreparedTransactions()
|
--> | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |