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 that LockingInterceptor 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 org.infinispan.commands.VisitableCommand>, org.infinispan.interceptors.distribution.BaseDistributionInterceptor.ReadOnlyManyHelper

    Nested classes/interfaces inherited from class org.infinispan.interceptors.impl.ClusteringInterceptor

    org.infinispan.interceptors.impl.ClusteringInterceptor.ClusteredGetAllFuture
  • 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

    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
    void
     
    visitIracPutKeyValueCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.IracPutKeyValueCommand command)
     
    visitPutKeyValueCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.PutKeyValueCommand command)
     
    visitReadWriteKeyCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyCommand command)
     

    Methods inherited from class org.infinispan.interceptors.distribution.NonTxDistributionInterceptor

    handleReadWriteManyCommand, visitComputeCommand, visitComputeIfAbsentCommand, visitPutMapCommand, visitReadWriteKeyValueCommand, visitReadWriteManyCommand, visitReadWriteManyEntriesCommand, visitRemoveCommand, visitReplaceCommand, visitWriteOnlyKeyCommand, visitWriteOnlyKeyValueCommand, visitWriteOnlyManyCommand, visitWriteOnlyManyEntriesCommand

    Methods inherited from class org.infinispan.interceptors.distribution.BaseDistributionInterceptor

    configure, getLog, handleFunctionalReadManyCommand, handleNonTxWriteCommand, handleRemotelyRetrievedKeys, invokeRemotely, primaryReturnHandler, readNeedsRemoteValue, remoteGetMany, remoteGetSingleKey, remoteReadOnlyCommand, retrieveDistributionInfo, unwrapFunctionalManyResultOnOrigin, unwrapFunctionalResultOnOrigin, visitClearCommand, visitGetAllCommand, visitGetCacheEntryCommand, visitGetKeyValueCommand, visitReadOnlyKeyCommand, visitReadOnlyManyCommand, wrapFunctionalManyResultOnNonOrigin, wrapFunctionalResultOnNonOriginOnReturn, wrapRemoteEntry

    Methods inherited from class org.infinispan.interceptors.impl.ClusteringInterceptor

    getCacheTopology, getSuccessfulResponseOrFail, init, unexpected, visitSizeCommand, visitTouchCommand

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

    isLocalModeForced, isSynchronous, shouldInvokeRemoteTxCommand, shouldLoad, transactionRemotelyPrepared

    Methods inherited from class org.infinispan.interceptors.DDAsyncInterceptor

    handleDefault, visitCommand, visitCommitCommand, visitEntrySetCommand, visitEvictCommand, visitInvalidateCommand, visitInvalidateL1Command, visitKeySetCommand, visitLockControlCommand, visitPrepareCommand, visitRollbackCommand, 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

    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

    • UnorderedDistributionInterceptor

      public UnorderedDistributionInterceptor()
  • Method Details

    • start

      public void start()
    • 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.distribution.NonTxDistributionInterceptor
    • visitIracPutKeyValueCommand

      public Object visitIracPutKeyValueCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.write.IracPutKeyValueCommand command)
      Specified by:
      visitIracPutKeyValueCommand in interface org.infinispan.commands.Visitor
      Overrides:
      visitIracPutKeyValueCommand in class org.infinispan.interceptors.distribution.NonTxDistributionInterceptor
    • visitReadWriteKeyCommand

      public Object visitReadWriteKeyCommand(org.infinispan.context.InvocationContext ctx, org.infinispan.commands.functional.ReadWriteKeyCommand command)
      Specified by:
      visitReadWriteKeyCommand in interface org.infinispan.commands.Visitor
      Overrides:
      visitReadWriteKeyCommand in class org.infinispan.interceptors.distribution.NonTxDistributionInterceptor