Class UnorderedDistributionInterceptor
- java.lang.Object
-
- org.infinispan.interceptors.BaseAsyncInterceptor
-
- org.infinispan.interceptors.DDAsyncInterceptor
-
- org.infinispan.interceptors.impl.BaseRpcInterceptor
-
- org.infinispan.interceptors.impl.ClusteringInterceptor
-
- org.infinispan.interceptors.distribution.BaseDistributionInterceptor
-
- org.infinispan.interceptors.distribution.NonTxDistributionInterceptor
-
- org.infinispan.hibernate.cache.commons.access.UnorderedDistributionInterceptor
-
- All Implemented Interfaces:
org.infinispan.commands.Visitor
,org.infinispan.interceptors.AsyncInterceptor
public class UnorderedDistributionInterceptor extends org.infinispan.interceptors.distribution.NonTxDistributionInterceptor
Since the applied functions do not rely on the order how these are applied (the updates are commutative), this interceptor simply sends any command to all other owners without ordering them through primary owner. Note thatLockingInterceptor
is required in the stack as locking on backup is not guaranteed by primary owner.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.infinispan.interceptors.distribution.BaseDistributionInterceptor
org.infinispan.interceptors.distribution.BaseDistributionInterceptor.ReadManyCommandHelper<C extends Object>, org.infinispan.interceptors.distribution.BaseDistributionInterceptor.ReadOnlyManyHelper, org.infinispan.interceptors.distribution.BaseDistributionInterceptor.RemoteGetAllHandler
-
-
Field Summary
-
Fields inherited from class org.infinispan.interceptors.distribution.BaseDistributionInterceptor
expirationManager, isL1Enabled, keyPartitioner, rvrl, timeService
-
Fields inherited from class org.infinispan.interceptors.impl.ClusteringInterceptor
cf, dataContainer, entryFactory, lockManager, stateTransferManager
-
-
Constructor Summary
Constructors Constructor Description UnorderedDistributionInterceptor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
invokeRemotelyAsync(List<org.infinispan.remoting.transport.Address> finalOwners, org.infinispan.context.InvocationContext rCtx, org.infinispan.commands.write.WriteCommand writeCmd)
void
start()
Object
visitPutKeyValueCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.PutKeyValueCommand command)
Object
visitReadWriteKeyCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyCommand command)
-
Methods inherited from class org.infinispan.interceptors.distribution.NonTxDistributionInterceptor
visitComputeCommand, visitComputeIfAbsentCommand, visitPutMapCommand, visitReadWriteKeyValueCommand, visitReadWriteManyCommand, visitReadWriteManyEntriesCommand, visitRemoveCommand, visitReplaceCommand, visitWriteOnlyKeyCommand, visitWriteOnlyKeyValueCommand, visitWriteOnlyManyCommand, visitWriteOnlyManyEntriesCommand
-
Methods inherited from class org.infinispan.interceptors.distribution.BaseDistributionInterceptor
checkTopologyId, configure, getLog, handleFunctionalReadManyCommand, handleMissingSuccessfulResponse, handleNonTxWriteCommand, handleRemotelyRetrievedKeys, invokeRemotely, invokeRemoveExpiredCommand, readNeedsRemoteValue, remoteGet, remoteGetAll, remoteReadOnlyCommand, retrieveDistributionInfo, unwrapFunctionalManyResultOnOrigin, unwrapFunctionalResultOnOrigin, visitClearCommand, visitGetAllCommand, visitGetCacheEntryCommand, visitGetKeysInGroupCommand, visitGetKeyValueCommand, visitReadOnlyKeyCommand, visitReadOnlyManyCommand, visitRemoveExpiredCommand, visitSizeCommand, wrapFunctionalManyResultOnNonOrigin, wrapFunctionalResultOnNonOriginOnReturn, wrapRemoteEntry
-
Methods inherited from class org.infinispan.interceptors.impl.ClusteringInterceptor
getSingleResponse, getSuccessfulResponseOrFail, unexpected
-
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, visitCommitCommand, visitDistributedExecuteCommand, visitEntrySetCommand, visitEvictCommand, visitInvalidateCommand, visitInvalidateL1Command, visitKeySetCommand, visitLockControlCommand, visitPrepareCommand, visitRollbackCommand, visitUnknownCommand
-
Methods inherited from class org.infinispan.interceptors.BaseAsyncInterceptor
asyncInvokeNext, asyncInvokeNext, asyncValue, invokeNext, invokeNextAndExceptionally, invokeNextAndFinally, invokeNextAndHandle, invokeNextThenAccept, invokeNextThenApply, isSuccessfullyDone, makeStage, setNextInterceptor, valueOrException
-
-
-
-
Method Detail
-
start
public void start()
-
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.distribution.NonTxDistributionInterceptor
-
visitReadWriteKeyCommand
public Object visitReadWriteKeyCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyCommand command)
- Specified by:
visitReadWriteKeyCommand
in interfaceorg.infinispan.commands.Visitor
- Overrides:
visitReadWriteKeyCommand
in classorg.infinispan.interceptors.distribution.NonTxDistributionInterceptor
-
-