类 MessageBuilder<T>
- java.lang.Object
- org.springframework.messaging.support.MessageBuilder<T>
public final class MessageBuilder<T> extends Object
- 从以下版本开始:
- 4.0
- 作者:
- Arjen Poutsma, Mark Fisher, Rossen Stoyanchev
- 另请参阅:
GenericMessage,ErrorMessage
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 Message<T>build()MessageBuilder<T>copyHeaders(Map<String,?> headersToCopy)Copy the name-value pairs from the provided Map.MessageBuilder<T>copyHeadersIfAbsent(Map<String,?> headersToCopy)Copy the name-value pairs from the provided Map.static <T> Message<T>createMessage(T payload, MessageHeaders messageHeaders)A shortcut factory method for creating a message with the given payload andMessageHeaders.static <T> MessageBuilder<T>fromMessage(Message<T> message)Create a builder for a newMessageinstance pre-populated with all of the headers copied from the provided message.MessageBuilder<T>removeHeader(String headerName)Remove the value for the given header name.MessageBuilder<T>removeHeaders(String... headerPatterns)Removes all headers provided via array of 'headerPatterns'.MessageBuilder<T>setErrorChannel(MessageChannel errorChannel)MessageBuilder<T>setErrorChannelName(String errorChannelName)MessageBuilder<T>setHeader(String headerName, Object headerValue)Set the value for the given header name.MessageBuilder<T>setHeaderIfAbsent(String headerName, Object headerValue)Set the value for the given header name only if the header name is not already associated with a value.MessageBuilder<T>setHeaders(MessageHeaderAccessor accessor)Set the message headers to use by providing aMessageHeaderAccessor.MessageBuilder<T>setReplyChannel(MessageChannel replyChannel)MessageBuilder<T>setReplyChannelName(String replyChannelName)static <T> MessageBuilder<T>withPayload(T payload)Create a new builder for a message with the given payload.
方法详细资料
setHeaders
public MessageBuilder<T> setHeaders(MessageHeaderAccessor accessor)
Set the message headers to use by providing aMessageHeaderAccessor.- 参数:
accessor- the headers to use
setHeader
public MessageBuilder<T> setHeader(String headerName, Object headerValue)
Set the value for the given header name. If the provided value isnull, the header will be removed.
setHeaderIfAbsent
public MessageBuilder<T> setHeaderIfAbsent(String headerName, Object headerValue)
Set the value for the given header name only if the header name is not already associated with a value.
removeHeaders
public MessageBuilder<T> removeHeaders(String... headerPatterns)
Removes all headers provided via array of 'headerPatterns'. As the name suggests the array may contain simple matching patterns for header names. Supported pattern styles are: "xxx*", "*xxx", "*xxx*" and "xxx*yyy".
removeHeader
public MessageBuilder<T> removeHeader(String headerName)
Remove the value for the given header name.
copyHeaders
public MessageBuilder<T> copyHeaders(Map<String,?> headersToCopy)
Copy the name-value pairs from the provided Map. This operation will overwrite any existing values. Use {copyHeadersIfAbsent(Map)to avoid overwriting values. Note that the 'id' and 'timestamp' header values will never be overwritten.
copyHeadersIfAbsent
public MessageBuilder<T> copyHeadersIfAbsent(Map<String,?> headersToCopy)
Copy the name-value pairs from the provided Map. This operation will not overwrite any existing values.
setReplyChannel
public MessageBuilder<T> setReplyChannel(MessageChannel replyChannel)
setReplyChannelName
public MessageBuilder<T> setReplyChannelName(String replyChannelName)
setErrorChannel
public MessageBuilder<T> setErrorChannel(MessageChannel errorChannel)
setErrorChannelName
public MessageBuilder<T> setErrorChannelName(String errorChannelName)
fromMessage
public static <T> MessageBuilder<T> fromMessage(Message<T> message)
Create a builder for a newMessageinstance pre-populated with all of the headers copied from the provided message. The payload of the provided Message will also be used as the payload for the new message.- 参数:
message- the Message from which the payload and all headers will be copied
withPayload
public static <T> MessageBuilder<T> withPayload(T payload)
Create a new builder for a message with the given payload.- 参数:
payload- the payload
createMessage
public static <T> Message<T> createMessage(T payload, MessageHeaders messageHeaders)
A shortcut factory method for creating a message with the given payload andMessageHeaders.Note: the given
MessageHeadersinstance is used directly in the new message, i.e. it is not copied.- 参数:
payload- the payload to use (nevernull)messageHeaders- the headers to use (nevernull)- 返回:
- the created message
- 从以下版本开始:
- 4.1