Interface TxInvocationContext<T extends AbstractCacheTransaction>

All Superinterfaces:
Cloneable, EntryLookup, InvocationContext
All Known Implementing Classes:
AbstractTxInvocationContext, LocalTxInvocationContext, RemoteTxInvocationContext

public interface TxInvocationContext<T extends AbstractCacheTransaction> extends InvocationContext
Interface defining additional functionality for invocation contexts that propagate within a transaction's scope.
Since:
4.0
Author:
Mircea.Markus@jboss.com
  • Method Details

    • hasModifications

      boolean hasModifications()
      Checks if there are modifications performed within the tx's scope. Any modifications having Flag.CACHE_MODE_LOCAL are ignored.
    • getAffectedKeys

      Set<Object> getAffectedKeys()
      Returns the set of keys that are affected by this transaction. Used to generate appropriate recipient groups for cluster-wide prepare and commit calls.
    • getGlobalTransaction

      GlobalTransaction getGlobalTransaction()
      Returns the id of the transaction associated with the current call.
    • getModifications

      List<org.infinispan.commands.write.WriteCommand> getModifications()
      Returns the modifications performed in the scope of the current transaction. Any modifications having Flag.CACHE_MODE_LOCAL are ignored. The returned list can be null.
    • getTransaction

      javax.transaction.Transaction getTransaction()
      Returns the tx associated with the current thread. This method MUST be guarded with a call to InvocationContext.isOriginLocal(), as Transaction are not propagated from the node where tx was started.
      Throws:
      IllegalStateException - if the call is performed from a InvocationContext.isOriginLocal()==false context.
    • addAllAffectedKeys

      void addAllAffectedKeys(Collection<?> keys)
      Registers a new participant with the transaction.
    • addAffectedKey

      void addAffectedKey(Object key)
    • isTransactionValid

      boolean isTransactionValid()
      Returns:
      true if the current transaction is in a valid state to perform operations on (i.e.,RUNNING or PREPARING) or false otherwise.
    • isImplicitTransaction

      boolean isImplicitTransaction()
    • getCacheTransaction

      T getCacheTransaction()