public static interface MatsStageInterceptor.MatsStageInterceptUserLambda
MatsEndpoint.ProcessContext
(and thus modify any reply, request, next or initiations) and/or modifying state and
message - or even take over the entire stage. Wrt. changing messages, you should also consider
MatsStageInterceptOutgoingMessages#stageInterceptOutgoingMessages(StageInterceptOutgoingMessageContext)
.
Default implementation is to call directly through - and if overriding, you also need to call through to get the
actual stage to execute.
Pulled out in separate interface, so that we don't need to invoke it if the interceptor doesn't need it.Modifier and Type | Method and Description |
---|---|
default void |
stageInterceptUserLambda(MatsStageInterceptor.StageInterceptUserLambdaContext context,
MatsEndpoint.ProcessLambda<java.lang.Object,java.lang.Object,java.lang.Object> processLambda,
MatsEndpoint.ProcessContext<java.lang.Object> ctx,
java.lang.Object state,
java.lang.Object msg) |
default void stageInterceptUserLambda(MatsStageInterceptor.StageInterceptUserLambdaContext context, MatsEndpoint.ProcessLambda<java.lang.Object,java.lang.Object,java.lang.Object> processLambda, MatsEndpoint.ProcessContext<java.lang.Object> ctx, java.lang.Object state, java.lang.Object msg) throws MatsEndpoint.MatsRefuseMessageException