public class TransactionSynchronizerInterceptor extends BaseAsyncInterceptor
StateTransferInterceptor
, would only allows a single thread to amend a transaction.
E.g. of when this situation might occur:
StateTransferInterceptor
),
otherwise we can end up in deadlocks when a command is forwarded in a loop to the same cache: e.g. A→B→C→A. This
scenario is possible when we have chained topology changes (see ISPN-2578).cacheConfiguration
Constructor and Description |
---|
TransactionSynchronizerInterceptor() |
Modifier and Type | Method and Description |
---|---|
Object |
visitCommand(InvocationContext ctx,
VisitableCommand command)
Perform some work for a command invocation.
|
asyncInvokeNext, asyncInvokeNext, asyncInvokeNext, asyncValue, delayedNull, delayedValue, delayedValue, invokeNext, invokeNextAndExceptionally, invokeNextAndFinally, invokeNextAndHandle, invokeNextThenAccept, invokeNextThenApply, isSuccessfullyDone, makeStage, setNextInterceptor, valueOrException
public Object visitCommand(InvocationContext ctx, VisitableCommand command) throws Throwable
AsyncInterceptor
BaseAsyncInterceptor.invokeNext(InvocationContext, VisitableCommand)
or the other methods in
BaseAsyncInterceptor
.InvocationStage
created by the BaseAsyncInterceptor
methods.Throwable
Copyright © 2021 JBoss by Red Hat. All rights reserved.