public interface SimpMessageSendingOperations extends MessageSendingOperations<String>
MessageSendingOperations
with methods for use with
the Spring Framework support for Simple Messaging Protocols (like STOMP).
For more on user destinations see
UserDestinationResolver
.
Modifier and Type | Method and Description |
---|---|
void |
convertAndSendToUser(String user,
String destination,
Object payload)
Send a message to the given user.
|
void |
convertAndSendToUser(String user,
String destination,
Object payload,
Map<String,Object> headers)
Send a message to the given user.
|
void |
convertAndSendToUser(String user,
String destination,
Object payload,
Map<String,Object> headers,
MessagePostProcessor postProcessor)
Send a message to the given user.
|
void |
convertAndSendToUser(String user,
String destination,
Object payload,
MessagePostProcessor postProcessor)
Send a message to the given user.
|
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, send, send
void convertAndSendToUser(String user, String destination, Object payload) throws MessagingException
user
- the user that should receive the message.destination
- the destination to send the message to.payload
- the payload to sendMessagingException
void convertAndSendToUser(String user, String destination, Object payload, Map<String,Object> headers) throws MessagingException
By default headers are interpreted as native headers (e.g. STOMP) and
are saved under a special key in the resulting Spring
Message
. In effect when the
message leaves the application, the provided headers are included with it
and delivered to the destination (e.g. the STOMP client or broker).
If the map already contains the key
"nativeHeaders"
or was prepared with
SimpMessageHeaderAccessor
then the headers are used directly. A common expected case is providing a
content type (to influence the message conversion) and native headers.
This may be done as follows:
SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(); accessor.setContentType(MimeTypeUtils.TEXT_PLAIN); accessor.setNativeHeader("foo", "bar"); accessor.setLeaveMutable(true); MessageHeaders headers = accessor.getMessageHeaders(); messagingTemplate.convertAndSendToUser(user, destination, payload, headers);
Note: if the MessageHeaders
are mutable as in
the above example, implementations of this interface should take notice and
update the headers in the same instance (rather than copy or re-create it)
and then set it immutable before sending the final message.
user
- the user that should receive the message, must not be null
destination
- the destination to send the message to, must not be null
payload
- the payload to send, may be null
headers
- the message headers, may be null
MessagingException
void convertAndSendToUser(String user, String destination, Object payload, MessagePostProcessor postProcessor) throws MessagingException
user
- the user that should receive the message, must not be null
destination
- the destination to send the message to, must not be null
payload
- the payload to send, may be null
postProcessor
- a postProcessor to post-process or modify the created messageMessagingException
void convertAndSendToUser(String user, String destination, Object payload, Map<String,Object> headers, MessagePostProcessor postProcessor) throws MessagingException
See MessageSendingOperations.convertAndSend(Object, Object, java.util.Map)
for important
notes regarding the input headers.
user
- the user that should receive the message.destination
- the destination to send the message to.payload
- the payload to sendheaders
- the message headerspostProcessor
- a postProcessor to post-process or modify the created messageMessagingException