Class ErrorMessage

java.lang.Object
org.springframework.messaging.support.GenericMessage<Throwable>
org.springframework.messaging.support.ErrorMessage
All Implemented Interfaces:
Serializable, Message<Throwable>

public class ErrorMessage extends GenericMessage<Throwable>
A GenericMessage with a Throwable payload.

The payload is typically a MessagingException with the message at the point of failure in its failedMessage property. An optional originalMessage may be provided, which represents the message that existed at the point in the stack where the error message is created.

Consider some code that starts with a message, invokes some process that performs transformation on that message and then fails for some reason, throwing the exception. The exception is caught and an error message produced that contains both the original message, and the transformed message that failed.

Since:
4.0
Author:
Mark Fisher, Oleg Zhurakousky, Gary Russell
See Also:
  • Constructor Details

    • ErrorMessage

      public ErrorMessage(Throwable payload)
      Create a new message with the given payload.
      Parameters:
      payload - the message payload (never null)
    • ErrorMessage

      public ErrorMessage(Throwable payload, Map<String,Object> headers)
      Create a new message with the given payload and headers. The content of the given header map is copied.
      Parameters:
      payload - the message payload (never null)
      headers - message headers to use for initialization
    • ErrorMessage

      public ErrorMessage(Throwable payload, MessageHeaders headers)
      A constructor with the MessageHeaders instance to use.

      Note: the given MessageHeaders instance is used directly in the new message, i.e. it is not copied.

      Parameters:
      payload - the message payload (never null)
      headers - message headers
    • ErrorMessage

      public ErrorMessage(Throwable payload, Message<?> originalMessage)
      Create a new message with the given payload and original message.
      Parameters:
      payload - the message payload (never null)
      originalMessage - the original message (if present) at the point in the stack where the ErrorMessage was created
      Since:
      5.0
    • ErrorMessage

      public ErrorMessage(Throwable payload, Map<String,Object> headers, Message<?> originalMessage)
      Create a new message with the given payload, headers and original message. The content of the given header map is copied.
      Parameters:
      payload - the message payload (never null)
      headers - message headers to use for initialization
      originalMessage - the original message (if present) at the point in the stack where the ErrorMessage was created
      Since:
      5.0
    • ErrorMessage

      public ErrorMessage(Throwable payload, MessageHeaders headers, Message<?> originalMessage)
      Create a new message with the payload, MessageHeaders and original message.

      Note: the given MessageHeaders instance is used directly in the new message, i.e. it is not copied.

      Parameters:
      payload - the message payload (never null)
      headers - message headers
      originalMessage - the original message (if present) at the point in the stack where the ErrorMessage was created
      Since:
      5.0
  • Method Details

    • getOriginalMessage

      @Nullable public Message<?> getOriginalMessage()
      Return the original message (if available) at the point in the stack where the ErrorMessage was created.
      Since:
      5.0
    • toString

      public String toString()
      Overrides:
      toString in class GenericMessage<Throwable>