Class ChainedMessageHandlerInterceptorMember<T>

java.lang.Object
org.axonframework.messaging.core.annotation.ChainedMessageHandlerInterceptorMember<T>
Type Parameters:
T - The type that declares the handlers in this chain.
All Implemented Interfaces:
MessageHandlerInterceptorMemberChain<T>

public class ChainedMessageHandlerInterceptorMember<T> extends Object implements MessageHandlerInterceptorMemberChain<T>
A MessageHandlerInterceptorMemberChain implementation that constructs a chain of instances of itself based on a given iterator of MessageHandlingMembers.
Since:
4.4.0
Author:
Allard Buijze
  • Constructor Details

    • ChainedMessageHandlerInterceptorMember

      public ChainedMessageHandlerInterceptorMember(Class<?> handlerType, Iterator<MessageHandlingMember<? super T>> iterator)
      Constructs a chained message handling interceptor for the given handlerType, constructing a chain from the given iterator.

      The iterator should at least> have a single MessageHandlingMember. If there are more MessageHandlingMembers present in the given iterator, this constructor will be invoked again.

      Parameters:
      handlerType - The type for which to construct a message handler interceptor chain.
      iterator - The MessageHandlingMembers from which to construct the chain.
  • Method Details

    • handle

      public MessageStream<?> handle(@Nonnull Message message, @Nonnull ProcessingContext context, @Nonnull T target, @Nonnull MessageHandlingMember<? super T> handler)
      Specified by:
      handle in interface MessageHandlerInterceptorMemberChain<T>
    • handleSync

      public Object handleSync(@Nonnull Message message, @Nonnull ProcessingContext context, @Nonnull T target, @Nonnull MessageHandlingMember<? super T> handler) throws Exception
      Description copied from interface: MessageHandlerInterceptorMemberChain
      Handle the given message by passing it through the interceptors and ultimately to the given handler on the given target instance. The result of this invocation is the result as given by the handler, possibly modified by any of the interceptors in this chain.
      Specified by:
      handleSync in interface MessageHandlerInterceptorMemberChain<T>
      Parameters:
      message - The message to pass through the interceptor chain.
      context - The context in which the message is being handled.
      target - The target instance to invoke the interceptors and handlers on.
      handler - The actual handler to invoke once all interceptors have received the message.
      Returns:
      The result as returned by the handlers or interceptors.
      Throws:
      Exception - Any exception thrown by the handler or any of the interceptors.