Class L1LastChanceInterceptor
- java.lang.Object
-
- org.infinispan.interceptors.BaseAsyncInterceptor
-
- org.infinispan.interceptors.DDAsyncInterceptor
-
- org.infinispan.interceptors.impl.BaseRpcInterceptor
-
- org.infinispan.interceptors.distribution.L1LastChanceInterceptor
-
- All Implemented Interfaces:
org.infinispan.commands.Visitor
,AsyncInterceptor
public class L1LastChanceInterceptor extends org.infinispan.interceptors.impl.BaseRpcInterceptor
L1 based interceptor that flushes the L1 cache at the end after a transaction/entry is committed to the data container but before the lock has been released. This is here to asynchronously clear any L1 cached values that were retrieved between when the data was updated, causing a L1 invalidation, and when the data was put into the data container- Author:
- wburns
-
-
Field Summary
-
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 L1LastChanceInterceptor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.infinispan.util.logging.Log
getLog()
void
start()
java.lang.Object
visitCommitCommand(org.infinispan.context.impl.TxInvocationContext ctx, org.infinispan.commands.tx.CommitCommand command)
java.lang.Object
visitComputeCommand(InvocationContext ctx, org.infinispan.commands.write.ComputeCommand command)
java.lang.Object
visitComputeIfAbsentCommand(InvocationContext ctx, org.infinispan.commands.write.ComputeIfAbsentCommand command)
java.lang.Object
visitDataWriteCommand(InvocationContext ctx, org.infinispan.commands.write.DataWriteCommand command, boolean assumeOriginKeptEntryInL1)
java.lang.Object
visitPrepareCommand(org.infinispan.context.impl.TxInvocationContext ctx, org.infinispan.commands.tx.PrepareCommand command)
java.lang.Object
visitPutKeyValueCommand(InvocationContext ctx, org.infinispan.commands.write.PutKeyValueCommand command)
java.lang.Object
visitPutMapCommand(InvocationContext ctx, org.infinispan.commands.write.PutMapCommand command)
java.lang.Object
visitReadWriteKeyCommand(InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyCommand command)
java.lang.Object
visitReadWriteKeyValueCommand(InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyValueCommand command)
java.lang.Object
visitReadWriteManyCommand(InvocationContext ctx, org.infinispan.commands.functional.ReadWriteManyCommand command)
java.lang.Object
visitReadWriteManyEntriesCommand(InvocationContext ctx, org.infinispan.commands.functional.ReadWriteManyEntriesCommand command)
java.lang.Object
visitRemoveCommand(InvocationContext ctx, org.infinispan.commands.write.RemoveCommand command)
java.lang.Object
visitReplaceCommand(InvocationContext ctx, org.infinispan.commands.write.ReplaceCommand command)
java.lang.Object
visitWriteOnlyKeyCommand(InvocationContext ctx, org.infinispan.commands.functional.WriteOnlyKeyCommand command)
java.lang.Object
visitWriteOnlyKeyValueCommand(InvocationContext ctx, org.infinispan.commands.functional.WriteOnlyKeyValueCommand command)
java.lang.Object
visitWriteOnlyManyCommand(InvocationContext ctx, org.infinispan.commands.functional.WriteOnlyManyCommand command)
java.lang.Object
visitWriteOnlyManyEntriesCommand(InvocationContext ctx, org.infinispan.commands.functional.WriteOnlyManyEntriesCommand 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, visitClearCommand, visitCommand, visitEntrySetCommand, visitEvictCommand, visitGetAllCommand, visitGetCacheEntryCommand, visitGetKeysInGroupCommand, visitGetKeyValueCommand, visitInvalidateCommand, visitInvalidateL1Command, visitKeySetCommand, visitLockControlCommand, visitReadOnlyKeyCommand, visitReadOnlyManyCommand, visitRollbackCommand, visitSizeCommand, visitUnknownCommand
-
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
-
-
-
-
Method Detail
-
start
public void start()
-
visitPutKeyValueCommand
public java.lang.Object visitPutKeyValueCommand(InvocationContext ctx, org.infinispan.commands.write.PutKeyValueCommand command) throws java.lang.Throwable
- Specified by:
visitPutKeyValueCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitPutKeyValueCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitReplaceCommand
public java.lang.Object visitReplaceCommand(InvocationContext ctx, org.infinispan.commands.write.ReplaceCommand command) throws java.lang.Throwable
- Specified by:
visitReplaceCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitReplaceCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitRemoveCommand
public java.lang.Object visitRemoveCommand(InvocationContext ctx, org.infinispan.commands.write.RemoveCommand command) throws java.lang.Throwable
- Specified by:
visitRemoveCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitRemoveCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitComputeCommand
public java.lang.Object visitComputeCommand(InvocationContext ctx, org.infinispan.commands.write.ComputeCommand command) throws java.lang.Throwable
- Specified by:
visitComputeCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitComputeCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitComputeIfAbsentCommand
public java.lang.Object visitComputeIfAbsentCommand(InvocationContext ctx, org.infinispan.commands.write.ComputeIfAbsentCommand command) throws java.lang.Throwable
- Specified by:
visitComputeIfAbsentCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitComputeIfAbsentCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitWriteOnlyKeyCommand
public java.lang.Object visitWriteOnlyKeyCommand(InvocationContext ctx, org.infinispan.commands.functional.WriteOnlyKeyCommand command) throws java.lang.Throwable
- Specified by:
visitWriteOnlyKeyCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitWriteOnlyKeyCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitReadWriteKeyValueCommand
public java.lang.Object visitReadWriteKeyValueCommand(InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyValueCommand command) throws java.lang.Throwable
- Specified by:
visitReadWriteKeyValueCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitReadWriteKeyValueCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitReadWriteKeyCommand
public java.lang.Object visitReadWriteKeyCommand(InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyCommand command) throws java.lang.Throwable
- Specified by:
visitReadWriteKeyCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitReadWriteKeyCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitWriteOnlyManyEntriesCommand
public java.lang.Object visitWriteOnlyManyEntriesCommand(InvocationContext ctx, org.infinispan.commands.functional.WriteOnlyManyEntriesCommand command) throws java.lang.Throwable
- Specified by:
visitWriteOnlyManyEntriesCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitWriteOnlyManyEntriesCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitWriteOnlyKeyValueCommand
public java.lang.Object visitWriteOnlyKeyValueCommand(InvocationContext ctx, org.infinispan.commands.functional.WriteOnlyKeyValueCommand command) throws java.lang.Throwable
- Specified by:
visitWriteOnlyKeyValueCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitWriteOnlyKeyValueCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitWriteOnlyManyCommand
public java.lang.Object visitWriteOnlyManyCommand(InvocationContext ctx, org.infinispan.commands.functional.WriteOnlyManyCommand command) throws java.lang.Throwable
- Specified by:
visitWriteOnlyManyCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitWriteOnlyManyCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitReadWriteManyCommand
public java.lang.Object visitReadWriteManyCommand(InvocationContext ctx, org.infinispan.commands.functional.ReadWriteManyCommand command) throws java.lang.Throwable
- Specified by:
visitReadWriteManyCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitReadWriteManyCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitReadWriteManyEntriesCommand
public java.lang.Object visitReadWriteManyEntriesCommand(InvocationContext ctx, org.infinispan.commands.functional.ReadWriteManyEntriesCommand command) throws java.lang.Throwable
- Specified by:
visitReadWriteManyEntriesCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitReadWriteManyEntriesCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitDataWriteCommand
public java.lang.Object visitDataWriteCommand(InvocationContext ctx, org.infinispan.commands.write.DataWriteCommand command, boolean assumeOriginKeptEntryInL1) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
visitPutMapCommand
public java.lang.Object visitPutMapCommand(InvocationContext ctx, org.infinispan.commands.write.PutMapCommand command) throws java.lang.Throwable
- Specified by:
visitPutMapCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitPutMapCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitPrepareCommand
public java.lang.Object visitPrepareCommand(org.infinispan.context.impl.TxInvocationContext ctx, org.infinispan.commands.tx.PrepareCommand command) throws java.lang.Throwable
- Specified by:
visitPrepareCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitPrepareCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
visitCommitCommand
public java.lang.Object visitCommitCommand(org.infinispan.context.impl.TxInvocationContext ctx, org.infinispan.commands.tx.CommitCommand command) throws java.lang.Throwable
- Specified by:
visitCommitCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitCommitCommand
in classDDAsyncInterceptor
- Throws:
java.lang.Throwable
-
getLog
protected org.infinispan.util.logging.Log getLog()
- Specified by:
getLog
in classorg.infinispan.interceptors.impl.BaseRpcInterceptor
-
-