Package org.infinispan.transaction.xa
Interface CacheTransaction
-
- All Known Subinterfaces:
RecoveryAwareTransaction
- All Known Implementing Classes:
org.infinispan.transaction.impl.AbstractCacheTransaction,org.infinispan.transaction.impl.LocalTransaction,LocalXaTransaction,RecoveryAwareLocalTransaction,RecoveryAwareRemoteTransaction,org.infinispan.transaction.impl.RemoteTransaction,SyncLocalTransaction
public interface CacheTransactionDefines the state a infinispan transaction should have.- Since:
- 4.0
- Author:
- Mircea.Markus@jboss.com
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceCacheTransaction.TransactionCompletedListener
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddBackupLockForKey(java.lang.Object key)voidaddListener(CacheTransaction.TransactionCompletedListener listener)voidaddVersionRead(java.lang.Object key, EntryVersion version)Sets the version read for this key.voidcleanupBackupLocks()It cleans up the backup locks for this transaction.voidclearLockedKeys()voidclearLookedUpEntries()voidforEachBackupLock(java.util.function.Consumer<java.lang.Object> consumer)Invokes theConsumerwith each backup lock.voidforEachLock(java.util.function.Consumer<java.lang.Object> consumer)Invokes theConsumerwith each lock.voidfreezeModifications()Prevent new modifications after prepare or commit started.java.util.List<org.infinispan.commands.write.WriteCommand>getAllModifications()Returns all the modifications visible within the current transaction, including those using Flag#CACHE_MODE_LOCAL.longgetCreationTime()GlobalTransactiongetGlobalTransaction()Returns the transaction identifier.java.util.Set<java.lang.Object>getLockedKeys()java.util.Map<java.lang.Object,CacheEntry>getLookedUpEntries()java.util.List<org.infinispan.commands.write.WriteCommand>getModifications()Returns the modifications visible within the current transaction.java.util.concurrent.CompletableFuture<java.lang.Void>getReleaseFutureForKey(java.lang.Object key)It returns aCompletableFuturethat completes when the lock for thekeyis released.java.util.Map<java.lang.Object,java.util.concurrent.CompletableFuture<java.lang.Void>>getReleaseFutureForKeys(java.util.Collection<java.lang.Object> keys)Same asgetReleaseFutureForKey(Object)but it returns a pair with the key and the future.intgetTopologyId()EntryVersionsMapgetUpdatedEntryVersions()EntryVersionsMapgetVersionsRead()Note: used in Repeatable Read + Write Skew + Clustering + Versioning.booleanhasModification(java.lang.Class<?> modificationClass)Checks if a modification of the given class (or subclass) is present in this transaction.booleanisMarkedForRollback()CacheEntrylookupEntry(java.lang.Object key)voidmarkForRollback(boolean markForRollback)voidnotifyOnTransactionFinished()booleanownsLock(java.lang.Object key)voidputLookedUpEntries(java.util.Map<java.lang.Object,CacheEntry> entries)voidputLookedUpEntry(java.lang.Object key, CacheEntry e)voidremoveBackupLock(java.lang.Object key)It cleans up the backup forkey.voidremoveBackupLocks(java.util.Collection<?> keys)It cleans up the backup lock for thekeys.voidremoveLookedUpEntry(java.lang.Object key)voidsetUpdatedEntryVersions(EntryVersionsMap updatedEntryVersions)
-
-
-
Method Detail
-
getGlobalTransaction
GlobalTransaction getGlobalTransaction()
Returns the transaction identifier.
-
getModifications
java.util.List<org.infinispan.commands.write.WriteCommand> getModifications()
Returns the modifications visible within the current transaction. Any modifications using Flag#CACHE_MODE_LOCAL are excluded. The returned list is never null.
-
getAllModifications
java.util.List<org.infinispan.commands.write.WriteCommand> getAllModifications()
Returns all the modifications visible within the current transaction, including those using Flag#CACHE_MODE_LOCAL. The returned list is never null.
-
hasModification
boolean hasModification(java.lang.Class<?> modificationClass)
Checks if a modification of the given class (or subclass) is present in this transaction. Any modifications using Flag#CACHE_MODE_LOCAL are ignored.- Parameters:
modificationClass- the modification type to look for- Returns:
- true if found, false otherwise
-
lookupEntry
CacheEntry lookupEntry(java.lang.Object key)
-
getLookedUpEntries
java.util.Map<java.lang.Object,CacheEntry> getLookedUpEntries()
-
putLookedUpEntry
void putLookedUpEntry(java.lang.Object key, CacheEntry e)
-
putLookedUpEntries
void putLookedUpEntries(java.util.Map<java.lang.Object,CacheEntry> entries)
-
removeLookedUpEntry
void removeLookedUpEntry(java.lang.Object key)
-
clearLookedUpEntries
void clearLookedUpEntries()
-
ownsLock
boolean ownsLock(java.lang.Object key)
-
clearLockedKeys
void clearLockedKeys()
-
getLockedKeys
java.util.Set<java.lang.Object> getLockedKeys()
-
getTopologyId
int getTopologyId()
-
addBackupLockForKey
void addBackupLockForKey(java.lang.Object key)
-
notifyOnTransactionFinished
void notifyOnTransactionFinished()
-
getUpdatedEntryVersions
EntryVersionsMap getUpdatedEntryVersions()
-
setUpdatedEntryVersions
void setUpdatedEntryVersions(EntryVersionsMap updatedEntryVersions)
-
isMarkedForRollback
boolean isMarkedForRollback()
-
markForRollback
void markForRollback(boolean markForRollback)
-
addVersionRead
void addVersionRead(java.lang.Object key, EntryVersion version)Sets the version read for this key. The version is only set at the first time, i.e. multiple invocation of this method will not change the state. Note: used in Repeatable Read + Write Skew + Clustering + Versioning.
-
getVersionsRead
EntryVersionsMap getVersionsRead()
Note: used in Repeatable Read + Write Skew + Clustering + Versioning.- Returns:
- a non-null map between key and version. The map represents the version read for that key. If no version exists, the key has not been read.
-
getCreationTime
long getCreationTime()
-
addListener
void addListener(CacheTransaction.TransactionCompletedListener listener)
-
freezeModifications
void freezeModifications()
Prevent new modifications after prepare or commit started.
-
getReleaseFutureForKey
java.util.concurrent.CompletableFuture<java.lang.Void> getReleaseFutureForKey(java.lang.Object key)
It returns aCompletableFuturethat completes when the lock for thekeyis released. If thekeyis not locked by this transaction, it returnsnull.- Parameters:
key- the key.- Returns:
- the
CompletableFutureornullif the key is not locked by this transaction.
-
getReleaseFutureForKeys
java.util.Map<java.lang.Object,java.util.concurrent.CompletableFuture<java.lang.Void>> getReleaseFutureForKeys(java.util.Collection<java.lang.Object> keys)
Same asgetReleaseFutureForKey(Object)but it returns a pair with the key and the future.
-
cleanupBackupLocks
void cleanupBackupLocks()
It cleans up the backup locks for this transaction.
-
removeBackupLocks
void removeBackupLocks(java.util.Collection<?> keys)
It cleans up the backup lock for thekeys.- Parameters:
keys- The keys to clean up the backup lock.
-
removeBackupLock
void removeBackupLock(java.lang.Object key)
It cleans up the backup forkey.- Parameters:
key- The key to clean up the backup lock.
-
forEachLock
void forEachLock(java.util.function.Consumer<java.lang.Object> consumer)
Invokes theConsumerwith each lock.- Parameters:
consumer- The backup lockConsumer
-
forEachBackupLock
void forEachBackupLock(java.util.function.Consumer<java.lang.Object> consumer)
Invokes theConsumerwith each backup lock.- Parameters:
consumer- The backup lockConsumer
-
-