Class MutableMessage<T>

java.lang.Object
org.springframework.integration.support.MutableMessage<T>
Type Parameters:
T - the payload type.
All Implemented Interfaces:
Serializable, Message<T>

public class MutableMessage<T> extends Object implements Message<T>, Serializable
An implementation of Message with a generic payload. Unlike GenericMessage, this message (or its headers) can be modified after creation. Great care must be taken, when mutating messages, that some other element/thread is not concurrently using the message. Also note that any in-memory stores (such as SimpleMessageStore) may have a reference to the message and changes will be reflected there too.

IMPORTANT: Mutable messages may share state (such as message headers); such messages should never be exposed to other components or undesirable side-effects may result.

It is generally recommended that messages transferred between components should always be immutable unless great care is taken with their use.

Since:
4.0
Author:
Gary Russell, Artem Bilan, Stuart Williams, David Turanski
See Also: