Class MutableMessage<T>
java.lang.Object
org.springframework.integration.support.MutableMessage<T>
- All Implemented Interfaces:
java.io.Serializable,org.springframework.messaging.Message<T>
public class MutableMessage<T>
extends java.lang.Object
implements org.springframework.messaging.Message<T>, java.io.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
- See Also:
- Serialized Form
-
Constructor Summary
Constructors Modifier Constructor Description MutableMessage(T payload)MutableMessage(T payload, java.util.Map<java.lang.String,java.lang.Object> headers)protectedMutableMessage(T payload, MutableMessageHeaders headers) -
Method Summary
Modifier and Type Method Description booleanequals(java.lang.Object obj)MutableMessageHeadersgetHeaders()TgetPayload()inthashCode()java.lang.StringtoString()
-
Constructor Details
-
MutableMessage
-
MutableMessage
public MutableMessage(T payload, @Nullable java.util.Map<java.lang.String,java.lang.Object> headers) -
MutableMessage
-
-
Method Details
-
getHeaders
- Specified by:
getHeadersin interfaceorg.springframework.messaging.Message<T>
-
getPayload
- Specified by:
getPayloadin interfaceorg.springframework.messaging.Message<T>
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)- Overrides:
equalsin classjava.lang.Object
-