public class MessageHeaders
extends java.lang.Object
implements java.util.Map<java.lang.String,java.lang.Object>, java.io.Serializable
Message.
IMPORTANT: This class is immutable. Any mutating operation such as
put(..), putAll(..) and others will throw
UnsupportedOperationException.
Subclasses do have access to the raw headers, however, via getRawHeaders().
One way to create message headers is to use the
MessageBuilder:
MessageBuilder.withPayload("foo").setHeader("key1", "value1").setHeader("key2", "value2");
A second option is to create GenericMessage
passing a payload as Object and headers as a java.util.Map:
Map headers = new HashMap();
headers.put("key1", "value1");
headers.put("key2", "value2");
new GenericMessage("foo", headers);
A third option is to use MessageHeaderAccessor
or one of its subclasses to create specific categories of headers.MessageBuilder,
MessageHeaderAccessor,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CONTENT_TYPE |
private static IdGenerator |
defaultIdGenerator |
static java.lang.String |
ERROR_CHANNEL |
private java.util.Map<java.lang.String,java.lang.Object> |
headers |
static java.lang.String |
ID
The key for the Message ID.
|
static java.util.UUID |
ID_VALUE_NONE |
private static IdGenerator |
idGenerator |
private static Log |
logger |
static java.lang.String |
REPLY_CHANNEL |
private static long |
serialVersionUID |
static java.lang.String |
TIMESTAMP |
| Modifier | Constructor and Description |
|---|---|
|
MessageHeaders(java.util.Map<java.lang.String,java.lang.Object> headers)
Construct a
MessageHeaders with the given headers. |
protected |
MessageHeaders(java.util.Map<java.lang.String,java.lang.Object> headers,
java.util.UUID id,
java.lang.Long timestamp)
Constructor providing control over the ID and TIMESTAMP header values.
|
private |
MessageHeaders(MessageHeaders original,
java.util.Set<java.lang.String> keysToIgnore)
Copy constructor which allows for ignoring certain entries.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Since MessageHeaders are immutable, the call to this method
will result in
UnsupportedOperationException. |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> |
entrySet() |
boolean |
equals(java.lang.Object other) |
java.lang.Object |
get(java.lang.Object key) |
<T> T |
get(java.lang.Object key,
java.lang.Class<T> type) |
java.lang.Object |
getErrorChannel() |
java.util.UUID |
getId() |
protected static IdGenerator |
getIdGenerator() |
protected java.util.Map<java.lang.String,java.lang.Object> |
getRawHeaders() |
java.lang.Object |
getReplyChannel() |
java.lang.Long |
getTimestamp() |
int |
hashCode() |
boolean |
isEmpty() |
java.util.Set<java.lang.String> |
keySet() |
java.lang.Object |
put(java.lang.String key,
java.lang.Object value)
Since MessageHeaders are immutable, the call to this method
will result in
UnsupportedOperationException. |
void |
putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> map)
Since MessageHeaders are immutable, the call to this method
will result in
UnsupportedOperationException. |
private void |
readObject(java.io.ObjectInputStream in) |
java.lang.Object |
remove(java.lang.Object key)
Since MessageHeaders are immutable, the call to this method
will result in
UnsupportedOperationException. |
int |
size() |
java.lang.String |
toString() |
java.util.Collection<java.lang.Object> |
values() |
private void |
writeObject(java.io.ObjectOutputStream out) |
public static final java.util.UUID ID_VALUE_NONE
public static final java.lang.String ID
public static final java.lang.String TIMESTAMP
public static final java.lang.String CONTENT_TYPE
public static final java.lang.String REPLY_CHANNEL
public static final java.lang.String ERROR_CHANNEL
private static final long serialVersionUID
private static final Log logger
private static final IdGenerator defaultIdGenerator
@Nullable private static volatile IdGenerator idGenerator
private final java.util.Map<java.lang.String,java.lang.Object> headers
public MessageHeaders(@Nullable java.util.Map<java.lang.String,java.lang.Object> headers)
MessageHeaders with the given headers. An ID and
TIMESTAMP headers will also be added, overriding any existing values.headers - a map with headers to addprotected MessageHeaders(@Nullable java.util.Map<java.lang.String,java.lang.Object> headers, @Nullable java.util.UUID id, @Nullable java.lang.Long timestamp)
private MessageHeaders(MessageHeaders original, java.util.Set<java.lang.String> keysToIgnore)
original - the MessageHeaders to copykeysToIgnore - the keys of the entries to ignoreprotected java.util.Map<java.lang.String,java.lang.Object> getRawHeaders()
protected static IdGenerator getIdGenerator()
@Nullable public java.util.UUID getId()
@Nullable public java.lang.Long getTimestamp()
@Nullable public java.lang.Object getReplyChannel()
@Nullable public java.lang.Object getErrorChannel()
@Nullable public <T> T get(java.lang.Object key, java.lang.Class<T> type)
public boolean containsKey(java.lang.Object key)
containsKey in interface java.util.Map<java.lang.String,java.lang.Object>public boolean containsValue(java.lang.Object value)
containsValue in interface java.util.Map<java.lang.String,java.lang.Object>public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
entrySet in interface java.util.Map<java.lang.String,java.lang.Object>@Nullable public java.lang.Object get(java.lang.Object key)
get in interface java.util.Map<java.lang.String,java.lang.Object>public boolean isEmpty()
isEmpty in interface java.util.Map<java.lang.String,java.lang.Object>public java.util.Set<java.lang.String> keySet()
keySet in interface java.util.Map<java.lang.String,java.lang.Object>public int size()
size in interface java.util.Map<java.lang.String,java.lang.Object>public java.util.Collection<java.lang.Object> values()
values in interface java.util.Map<java.lang.String,java.lang.Object>public java.lang.Object put(java.lang.String key,
java.lang.Object value)
UnsupportedOperationException.put in interface java.util.Map<java.lang.String,java.lang.Object>public void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> map)
UnsupportedOperationException.putAll in interface java.util.Map<java.lang.String,java.lang.Object>public java.lang.Object remove(java.lang.Object key)
UnsupportedOperationException.remove in interface java.util.Map<java.lang.String,java.lang.Object>public void clear()
UnsupportedOperationException.clear in interface java.util.Map<java.lang.String,java.lang.Object>private void writeObject(java.io.ObjectOutputStream out)
throws java.io.IOException
java.io.IOExceptionprivate void readObject(java.io.ObjectInputStream in)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOExceptionjava.lang.ClassNotFoundExceptionpublic boolean equals(java.lang.Object other)
equals in interface java.util.Map<java.lang.String,java.lang.Object>equals in class java.lang.Objectpublic int hashCode()
hashCode in interface java.util.Map<java.lang.String,java.lang.Object>hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object