Class NonTxInvalidationInterceptor

java.lang.Object
org.infinispan.interceptors.BaseAsyncInterceptor
org.infinispan.interceptors.DDAsyncInterceptor
org.infinispan.interceptors.impl.BaseRpcInterceptor
org.infinispan.hibernate.cache.commons.access.BaseInvalidationInterceptor
org.infinispan.hibernate.cache.commons.access.NonTxInvalidationInterceptor
All Implemented Interfaces:
org.infinispan.commands.Visitor, org.infinispan.interceptors.AsyncInterceptor, org.infinispan.jmx.JmxStatisticsExposer

@MBean(objectName="Invalidation", description="Component responsible for invalidating entries on remote caches when entries are written to locally.") public class NonTxInvalidationInterceptor extends BaseInvalidationInterceptor
This interceptor should completely replace default InvalidationInterceptor. We need to send custom invalidation commands with transaction identifier (as the invalidation) since we have to do a two-phase invalidation (releasing the locks as JTA synchronization), although the cache itself is non-transactional.
Author:
Radim Vansa <rvansa@redhat.com>, Mircea.Markus@jboss.com, Galder ZamarreƱo
  • Field Summary

    Fields inherited from class org.infinispan.hibernate.cache.commons.access.BaseInvalidationInterceptor

    cache, cacheName, commandsFactory, distributionManager, statisticsEnabled, syncRpcOptions

    Fields inherited from class org.infinispan.interceptors.impl.BaseRpcInterceptor

    componentRegistry, defaultSynchronous, rpcManager

    Fields inherited from class org.infinispan.interceptors.BaseAsyncInterceptor

    cacheConfiguration
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.infinispan.util.logging.Log
     
    visitClearCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.ClearCommand command)
     
    visitPutKeyValueCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.PutKeyValueCommand command)
     
    visitPutMapCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.PutMapCommand command)
     
    visitRemoveCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.RemoveCommand command)
     
    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, shouldLoad, transactionRemotelyPrepared

    Methods inherited from class org.infinispan.interceptors.DDAsyncInterceptor

    handleDefault, visitCommand, visitCommitCommand, visitComputeCommand, visitComputeIfAbsentCommand, visitEntrySetCommand, visitEvictCommand, visitGetAllCommand, visitGetCacheEntryCommand, visitGetKeyValueCommand, visitInvalidateCommand, visitInvalidateL1Command, visitIracPutKeyValueCommand, visitKeySetCommand, visitLockControlCommand, visitPrepareCommand, visitReadOnlyKeyCommand, visitReadOnlyManyCommand, visitReadWriteKeyCommand, visitReadWriteKeyValueCommand, visitReadWriteManyCommand, visitReadWriteManyEntriesCommand, visitRollbackCommand, visitSizeCommand, visitTouchCommand, visitUnknownCommand, visitWriteOnlyKeyCommand, visitWriteOnlyKeyValueCommand, visitWriteOnlyManyCommand, visitWriteOnlyManyEntriesCommand

    Methods inherited from class org.infinispan.interceptors.BaseAsyncInterceptor

    asyncInvokeNext, asyncInvokeNext, asyncInvokeNext, asyncValue, delayedNull, delayedValue, delayedValue, invokeNext, invokeNextAndExceptionally, invokeNextAndFinally, invokeNextAndHandle, invokeNextThenAccept, invokeNextThenApply, isSuccessfullyDone, makeStage, setNextInterceptor, valueOrException

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.infinispan.commands.Visitor

    visitRemoveExpiredCommand
  • Constructor Details

    • NonTxInvalidationInterceptor

      public NonTxInvalidationInterceptor()
  • Method Details

    • 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
    • getLog

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