org.springframework.messaging.support

Interface ExecutorChannelInterceptor

    • Method Detail

      • beforeHandle

        @Nullable
        default Message<?> beforeHandle(Message<?> message,
                                                  MessageChannel channel,
                                                  MessageHandler handler)
        Invoked inside the Runnable submitted to the Executor just before calling the target MessageHandler to handle the message. Allows for modification of the Message if necessary or when null is returned the MessageHandler is not invoked.
        Parameters:
        message - the message to be handled
        channel - the channel on which the message was sent to
        handler - the target handler to handle the message
        Returns:
        the input message, or a new instance, or null
      • afterMessageHandled

        default void afterMessageHandled(Message<?> message,
                                         MessageChannel channel,
                                         MessageHandler handler,
                                         @Nullable
                                         java.lang.Exception ex)
        Invoked inside the Runnable submitted to the Executor after calling the target MessageHandler regardless of the outcome (i.e. Exception raised or not) thus allowing for proper resource cleanup.

        Note that this will be invoked only if beforeHandle successfully completed and returned a Message, i.e. it did not return null.

        Parameters:
        message - the message handled
        channel - the channel on which the message was sent to
        handler - the target handler that handled the message
        ex - any exception that may been raised by the handler