Class MutableMessage<T>

java.lang.Object
org.springframework.integration.support.MutableMessage<T>
Type Parameters:
T - the payload type.
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 Details

  • Method Details

    • getHeaders

      public MutableMessageHeaders getHeaders()
      Specified by:
      getHeaders in interface org.springframework.messaging.Message<T>
    • getPayload

      public T getPayload()
      Specified by:
      getPayload in interface org.springframework.messaging.Message<T>
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • equals

      public boolean equals​(java.lang.Object obj)
      Overrides:
      equals in class java.lang.Object