Class TxInvalidationInterceptor

  • All Implemented Interfaces:
    org.infinispan.commands.Visitor, org.infinispan.interceptors.AsyncInterceptor, org.infinispan.jmx.JmxStatisticsExposer

    public class TxInvalidationInterceptor
    extends BaseInvalidationInterceptor
    This interceptor acts as a replacement to the replication interceptor when the CacheImpl is configured with ClusteredSyncMode as INVALIDATE.

    The idea is that rather than replicating changes to all caches in a cluster when write methods are called, simply broadcast an InvalidateCommand on the remote caches containing all keys modified. This allows the remote cache to look up the value in a shared cache loader which would have been updated with the changes.

    Since:
    4.0
    Author:
    Manik Surtani, Galder ZamarreƱo, Mircea.Markus@jboss.com
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.infinispan.util.logging.Log getLog()  
      Object visitClearCommand​(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.ClearCommand command)  
      Object visitCommitCommand​(org.infinispan.context.impl.TxInvocationContext ctx, org.infinispan.commands.tx.CommitCommand command)  
      Object visitLockControlCommand​(org.infinispan.context.impl.TxInvocationContext ctx, org.infinispan.commands.control.LockControlCommand command)  
      Object visitPrepareCommand​(org.infinispan.context.impl.TxInvocationContext ctx, org.infinispan.commands.tx.PrepareCommand command)  
      Object visitPutKeyValueCommand​(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.PutKeyValueCommand command)  
      Object visitPutMapCommand​(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.PutMapCommand command)  
      Object visitRemoveCommand​(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.RemoveCommand command)  
      Object visitReplaceCommand​(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.ReplaceCommand command)  
      • Methods inherited from class org.infinispan.interceptors.impl.BaseRpcInterceptor

        init, isLocalModeForced, isSynchronous, shouldInvokeRemoteTxCommand, shouldTotalOrderRollbackBeInvokedRemotely, totalOrderPrepare, totalOrderTxCommit, totalOrderTxRollback, transactionRemotelyPrepared
      • Methods inherited from class org.infinispan.interceptors.DDAsyncInterceptor

        handleDefault, visitCommand, visitComputeCommand, visitComputeIfAbsentCommand, visitDistributedExecuteCommand, visitEntrySetCommand, visitEvictCommand, visitGetAllCommand, visitGetCacheEntryCommand, visitGetKeysInGroupCommand, visitGetKeyValueCommand, visitInvalidateCommand, visitInvalidateL1Command, visitKeySetCommand, visitReadOnlyKeyCommand, visitReadOnlyManyCommand, visitReadWriteKeyCommand, visitReadWriteKeyValueCommand, visitReadWriteManyCommand, visitReadWriteManyEntriesCommand, visitRollbackCommand, visitSizeCommand, visitUnknownCommand, visitWriteOnlyKeyCommand, visitWriteOnlyKeyValueCommand, visitWriteOnlyManyCommand, visitWriteOnlyManyEntriesCommand
      • Methods inherited from class org.infinispan.interceptors.BaseAsyncInterceptor

        asyncInvokeNext, asyncInvokeNext, asyncValue, invokeNext, invokeNextAndExceptionally, invokeNextAndFinally, invokeNextAndHandle, invokeNextThenAccept, invokeNextThenApply, isSuccessfullyDone, makeStage, setNextInterceptor, valueOrException
      • Methods inherited from interface org.infinispan.commands.Visitor

        visitApplyDeltaCommand, visitRemoveExpiredCommand
    • Constructor Detail

      • TxInvalidationInterceptor

        public TxInvalidationInterceptor()
    • Method Detail

      • visitPutKeyValueCommand

        public Object visitPutKeyValueCommand​(org.infinispan.context.InvocationContext ctx,
                                              org.infinispan.commands.write.PutKeyValueCommand command)
        Specified by:
        visitPutKeyValueCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitPutKeyValueCommand in class org.infinispan.interceptors.DDAsyncInterceptor
      • visitReplaceCommand

        public Object visitReplaceCommand​(org.infinispan.context.InvocationContext ctx,
                                          org.infinispan.commands.write.ReplaceCommand command)
        Specified by:
        visitReplaceCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitReplaceCommand in class org.infinispan.interceptors.DDAsyncInterceptor
      • visitRemoveCommand

        public Object visitRemoveCommand​(org.infinispan.context.InvocationContext ctx,
                                         org.infinispan.commands.write.RemoveCommand command)
        Specified by:
        visitRemoveCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitRemoveCommand in class org.infinispan.interceptors.DDAsyncInterceptor
      • visitClearCommand

        public Object visitClearCommand​(org.infinispan.context.InvocationContext ctx,
                                        org.infinispan.commands.write.ClearCommand command)
        Specified by:
        visitClearCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitClearCommand in class org.infinispan.interceptors.DDAsyncInterceptor
      • visitPutMapCommand

        public Object visitPutMapCommand​(org.infinispan.context.InvocationContext ctx,
                                         org.infinispan.commands.write.PutMapCommand command)
        Specified by:
        visitPutMapCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitPutMapCommand in class org.infinispan.interceptors.DDAsyncInterceptor
      • visitPrepareCommand

        public Object visitPrepareCommand​(org.infinispan.context.impl.TxInvocationContext ctx,
                                          org.infinispan.commands.tx.PrepareCommand command)
        Specified by:
        visitPrepareCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitPrepareCommand in class org.infinispan.interceptors.DDAsyncInterceptor
      • visitCommitCommand

        public Object visitCommitCommand​(org.infinispan.context.impl.TxInvocationContext ctx,
                                         org.infinispan.commands.tx.CommitCommand command)
                                  throws Throwable
        Specified by:
        visitCommitCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitCommitCommand in class org.infinispan.interceptors.DDAsyncInterceptor
        Throws:
        Throwable
      • visitLockControlCommand

        public Object visitLockControlCommand​(org.infinispan.context.impl.TxInvocationContext ctx,
                                              org.infinispan.commands.control.LockControlCommand command)
        Specified by:
        visitLockControlCommand in interface org.infinispan.commands.Visitor
        Overrides:
        visitLockControlCommand in class org.infinispan.interceptors.DDAsyncInterceptor
      • getLog

        protected org.infinispan.util.logging.Log getLog()
        Specified by:
        getLog in class org.infinispan.interceptors.impl.BaseRpcInterceptor