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 to RemoteTransaction.
Since:
5.0
Author:
Mircea.Markus@jboss.com, Pedro Ruivo
  • Constructor Details

    • LocalTransaction

      public LocalTransaction(javax.transaction.Transaction transaction, GlobalTransaction tx, boolean implicitTransaction, int topologyId, long txCreationTime)
  • Method Details

    • 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 javax.transaction.Transaction getTransaction()
    • getLookedUpEntries

      public Map<Object,CacheEntry> getLookedUpEntries()
      Specified by:
      getLookedUpEntries in interface CacheTransaction
      Overrides:
      getLookedUpEntries in class AbstractCacheTransaction
    • 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()
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • setStateTransferFlag

      public void setStateTransferFlag(Flag stateTransferFlag)
      Specified by:
      setStateTransferFlag in class AbstractCacheTransaction
    • 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:
    • 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' and getRemoteLocksAcquired() 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
    • hasIracMetadata

      public boolean hasIracMetadata(Object key)
      Returns:
      true if there is an IracMetadata stored for key.
    • storeIracMetadata

      public void storeIracMetadata(Object key, CompletionStage<IracMetadata> metadata)
      Stores the IracMetadata associated with key.
      Parameters:
      key - The key.
      metadata - The CompletionStage that will be completed with IracMetadata to associate.
    • getIracMetadata

      public CompletionStage<IracMetadata> getIracMetadata(Object key)
      Returns:
      The IracMetadata associated with key.