Class TxInvalidationInterceptor
- 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.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 anInvalidateCommand
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TxInvalidationInterceptor.InvalidationFilterVisitor
-
Field Summary
-
Fields inherited from class org.infinispan.hibernate.cache.commons.access.BaseInvalidationInterceptor
cache, cacheName, commandsFactory, distributionManager, statisticsEnabled, syncRpcOptions
-
-
Constructor Summary
Constructors Constructor Description TxInvalidationInterceptor()
-
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.hibernate.cache.commons.access.BaseInvalidationInterceptor
getInvalidations, getMembers, getStatisticsEnabled, incrementInvalidations, isPutForExternalRead, resetStatistics, setStatisticsEnabled
-
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
-
-
-
-
Method Detail
-
visitPutKeyValueCommand
public Object visitPutKeyValueCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.PutKeyValueCommand command)
- Specified by:
visitPutKeyValueCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitPutKeyValueCommand
in classorg.infinispan.interceptors.DDAsyncInterceptor
-
visitReplaceCommand
public Object visitReplaceCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.ReplaceCommand command)
- Specified by:
visitReplaceCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitReplaceCommand
in classorg.infinispan.interceptors.DDAsyncInterceptor
-
visitRemoveCommand
public Object visitRemoveCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.RemoveCommand command)
- Specified by:
visitRemoveCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitRemoveCommand
in classorg.infinispan.interceptors.DDAsyncInterceptor
-
visitClearCommand
public Object visitClearCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.ClearCommand command)
- Specified by:
visitClearCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitClearCommand
in classorg.infinispan.interceptors.DDAsyncInterceptor
-
visitPutMapCommand
public Object visitPutMapCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.PutMapCommand command)
- Specified by:
visitPutMapCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitPutMapCommand
in classorg.infinispan.interceptors.DDAsyncInterceptor
-
visitPrepareCommand
public Object visitPrepareCommand(org.infinispan.context.impl.TxInvocationContext ctx, org.infinispan.commands.tx.PrepareCommand command)
- Specified by:
visitPrepareCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitPrepareCommand
in classorg.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 interfaceorg.infinispan.commands.Visitor
- Overrides:
visitCommitCommand
in classorg.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 interfaceorg.infinispan.commands.Visitor
- Overrides:
visitLockControlCommand
in classorg.infinispan.interceptors.DDAsyncInterceptor
-
getLog
protected org.infinispan.util.logging.Log getLog()
- Specified by:
getLog
in classorg.infinispan.interceptors.impl.BaseRpcInterceptor
-
-