Package org.infinispan.transaction.impl
Class LocalTransaction
- java.lang.Object
-
- org.infinispan.transaction.impl.AbstractCacheTransaction
-
- org.infinispan.transaction.impl.LocalTransaction
-
- All Implemented Interfaces:
CacheTransaction
- Direct Known Subclasses:
LocalXaTransaction
,SyncLocalTransaction
public abstract class LocalTransaction extends AbstractCacheTransaction
Object that holds transaction's state on the node where it originated; as opposed toRemoteTransaction
.- Since:
- 5.0
- Author:
- Mircea.Markus@jboss.com, Pedro Ruivo
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.infinispan.transaction.xa.CacheTransaction
CacheTransaction.TransactionCompletedListener
-
-
Field Summary
-
Fields inherited from class org.infinispan.transaction.impl.AbstractCacheTransaction
affectedKeys, lookedUpEntries, modifications, topologyId, tx
-
-
Constructor Summary
Constructors Constructor Description LocalTransaction(Transaction transaction, GlobalTransaction tx, boolean implicitTransaction, int topologyId, long txCreationTime)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addModification(org.infinispan.commands.write.WriteCommand mod)
void
addReadKey(Object key)
void
clearRemoteLocksAcquired()
boolean
equals(Object o)
Collection<Address>
getCommitNodes(Collection<Address> recipients, CacheTopology cacheTopology)
Calculates the list of nodes to which a commit/rollback needs to be sent based on the nodes to which prepare was sent.Map<Object,CacheEntry>
getLookedUpEntries()
Collection<Address>
getRemoteLocksAcquired()
Transaction
getTransaction()
int
hashCode()
boolean
isCommitOrRollbackSent()
abstract boolean
isEnlisted()
boolean
isFromRemoteSite()
When x-site replication is used, this returns when this operation happens as a result of backing up data from a remote site.boolean
isImplicitTransaction()
boolean
isPrepareSent()
boolean
isReadOnly()
boolean
keyRead(Object key)
void
locksAcquired(Collection<Address> nodes)
void
markCommitOrRollbackSent()
Sets the commit or rollback sent for this transactionvoid
markPrepareSent()
Sets the prepare sent for this transactionvoid
putLookedUpEntries(Map<Object,CacheEntry> entries)
void
putLookedUpEntry(Object key, CacheEntry e)
void
setFromRemoteSite(boolean fromRemoteSite)
void
setStateTransferFlag(Flag stateTransferFlag)
String
toString()
-
Methods inherited from class org.infinispan.transaction.impl.AbstractCacheTransaction
addAffectedKey, addAllAffectedKeys, addBackupLockForKey, addListener, addVersionRead, areLocksReleased, cleanupBackupLocks, clearLockedKeys, clearLookedUpEntries, containsLockOrBackupLock, findAnyLockedOrBackupLocked, forEachBackupLock, freezeModifications, getAffectedKeys, getAllModifications, getBackupLockedKeys, getCreationTime, getGlobalTransaction, getLockedKeys, getModifications, getReleaseFutureForKey, getReleaseFutureForKeys, getStateTransferFlag, getTopologyId, getUpdatedEntryVersions, getVersionsRead, hasModification, isFromStateTransfer, isMarkedForRollback, lookupEntry, markForRollback, notifyOnTransactionFinished, ownsLock, registerLockedKey, removeBackupLock, removeBackupLocks, removeLookedUpEntry, setModifications, setUpdatedEntryVersions, waitForLockRelease
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.infinispan.transaction.xa.CacheTransaction
getLookedUpRemoteVersion, putLookedUpRemoteVersion, replaceVersionRead
-
-
-
-
Constructor Detail
-
LocalTransaction
public LocalTransaction(Transaction transaction, GlobalTransaction tx, boolean implicitTransaction, int topologyId, long txCreationTime)
-
-
Method Detail
-
addModification
public final void addModification(org.infinispan.commands.write.WriteCommand mod)
-
locksAcquired
public void locksAcquired(Collection<Address> nodes)
-
getRemoteLocksAcquired
public Collection<Address> getRemoteLocksAcquired()
-
clearRemoteLocksAcquired
public void clearRemoteLocksAcquired()
-
getTransaction
public Transaction getTransaction()
-
getLookedUpEntries
public Map<Object,CacheEntry> getLookedUpEntries()
- Specified by:
getLookedUpEntries
in interfaceCacheTransaction
- Overrides:
getLookedUpEntries
in classAbstractCacheTransaction
-
isImplicitTransaction
public boolean isImplicitTransaction()
-
putLookedUpEntry
public void putLookedUpEntry(Object key, CacheEntry e)
-
putLookedUpEntries
public void putLookedUpEntries(Map<Object,CacheEntry> entries)
-
isReadOnly
public boolean isReadOnly()
-
isEnlisted
public abstract boolean isEnlisted()
-
addReadKey
public void addReadKey(Object key)
-
keyRead
public boolean keyRead(Object key)
-
setStateTransferFlag
public void setStateTransferFlag(Flag stateTransferFlag)
- Specified by:
setStateTransferFlag
in classAbstractCacheTransaction
-
isFromRemoteSite
public boolean isFromRemoteSite()
When x-site replication is used, this returns when this operation happens as a result of backing up data from a remote site.
-
setFromRemoteSite
public void setFromRemoteSite(boolean fromRemoteSite)
- See Also:
isFromRemoteSite()
-
getCommitNodes
public Collection<Address> getCommitNodes(Collection<Address> recipients, CacheTopology cacheTopology)
Calculates the list of nodes to which a commit/rollback needs to be sent based on the nodes to which prepare was sent. If the commit/rollback is to be sent in the same topologyId, then the 'recipients' param is returned back. If the current topologyId is different than the topologyId of this transaction (AbstractCacheTransaction.getTopologyId()
then this method returns the reunion between 'recipients' andgetRemoteLocksAcquired()
from which it discards the members that left.
-
markPrepareSent
public final void markPrepareSent()
Sets the prepare sent for this transaction
-
isPrepareSent
public final boolean isPrepareSent()
- Returns:
- true if the prepare was sent to the other nodes
-
markCommitOrRollbackSent
public final void markCommitOrRollbackSent()
Sets the commit or rollback sent for this transaction
-
isCommitOrRollbackSent
public final boolean isCommitOrRollbackSent()
- Returns:
- true if the commit or rollback was sent to the other nodes
-
-