Interface MessageProcessor<T>

Type Parameters:
T - the expected payload type.
All Known Subinterfaces:
HeaderValueMessageProcessor<T>
All Known Implementing Classes:
AbstractHeaderValueMessageProcessor, AbstractMessageProcessor, AbstractScriptExecutingMessageProcessor, BeanNameMessageProcessor, ExpressionCommandMessageProcessor, ExpressionEvaluatingHeaderValueMessageProcessor, ExpressionEvaluatingMessageProcessor, GroovyCommandMessageProcessor, GroovyScriptExecutingMessageProcessor, LambdaMessageProcessor, MessageProcessingHeaderValueMessageProcessor, MethodInvokingMessageProcessor, RoutingSlipHeaderValueMessageProcessor, ScriptExecutingMessageProcessor, StaticHeaderValueMessageProcessor, XPathExpressionEvaluatingHeaderValueMessageProcessor
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface MessageProcessor<T>
This defines the lowest-level strategy of processing a Message and returning some Object (or null). Implementations will be focused on generic concerns, such as invoking a method, running a script, or evaluating an expression.

Higher level MessageHandler implementations can delegate to these processors for such functionality, but it is the responsibility of each handler type to add the semantics such as routing, splitting, transforming, etc.

In some cases the return value might be a Message itself, but it does not need to be. It is the responsibility of the caller to determine how to treat the return value. That may require creating a Message or even creating multiple Messages from that value.

This strategy and its various implementations are considered part of the internal "support" API, intended for use by Spring Integration's various message-handling components. As such, it is subject to change.

Since:
2.0
Author:
Mark Fisher, Artem Bilan
  • Method Summary

    Modifier and Type
    Method
    Description
    processMessage(Message<?> message)
    Process the Message and return a value (or null).
  • Method Details

    • processMessage

      @Nullable T processMessage(Message<?> message)
      Process the Message and return a value (or null).
      Parameters:
      message - The message to process.
      Returns:
      The result.