org.springframework.messaging.support

## 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:
  `MessageBuilder`, Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`ErrorMessage(Throwable payload)` Create a new message with the given payload.
`ErrorMessage(Throwable payload, Map<String,Object> headers)` Create a new message with the given payload and headers.
`ErrorMessage(Throwable payload, Map<String,Object> headers, Message<?> originalMessage)` Create a new message with the given payload, headers and original message.
`ErrorMessage(Throwable payload, Message<?> originalMessage)` Create a new message with the given payload and original message.
`ErrorMessage(Throwable payload, MessageHeaders headers)` A constructor with the `MessageHeaders` instance to use.
`ErrorMessage(Throwable payload, MessageHeaders headers, Message<?> originalMessage)` Create a new message with the payload, `MessageHeaders` and original message.

### Method Summary

All Methods Instance Methods Concrete Methods
`Message<?>` `getOriginalMessage()` Return the original message (if available) at the point in the stack where the ErrorMessage was created.
`String` `toString()`

### Methods inherited from class org.springframework.messaging.support.GenericMessage

`equals, getHeaders, getPayload, hashCode`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### 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 Detail

#### 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>`