public class UserDestinationMessageHandler extends Object implements MessageHandler
The target destination has the prefix removed and a unique queue suffix,
resolved via #setUserQueueSuffixResolver(UserQueueSuffixResolver), appended.
For example a destination such as "/user/john/queue/trade-confirmation" could
be transformed to "/queue/trade-confirmation/i9oqdfzo".
| Constructor and Description |
|---|
UserDestinationMessageHandler(MessageSendingOperations<String> messagingTemplate,
UserQueueSuffixResolver userQueueSuffixResolver) |
| Modifier and Type | Method and Description |
|---|---|
String |
getDestinationPrefix() |
MessageSendingOperations<String> |
getMessagingTemplate() |
UserQueueSuffixResolver |
getUserQueueSuffixResolver() |
void |
handleMessage(Message<?> message)
Handles the message if possible.
|
void |
setDestinationPrefix(String prefix)
The default prefix is "/user".
|
public UserDestinationMessageHandler(MessageSendingOperations<String> messagingTemplate, UserQueueSuffixResolver userQueueSuffixResolver)
messagingTemplate - resolver - the resolver to use to find queue suffixes for a userpublic void setDestinationPrefix(String prefix)
The default prefix is "/user".
prefix - the prefix to setpublic String getDestinationPrefix()
public UserQueueSuffixResolver getUserQueueSuffixResolver()
public MessageSendingOperations<String> getMessagingTemplate()
public void handleMessage(Message<?> message) throws MessagingException
MessageHandlerMessageRejectedException e.g.
in case of a Selective Consumer. When a consumer tries to handle a
message, but fails to do so, a MessageHandlingException is
thrown. In the last case it is recommended to treat the message as tainted
and go into an error scenario.
When the handling results in a failure of another message being sent
(e.g. a "reply" message), that failure will trigger a
MessageDeliveryException.
handleMessage in interface MessageHandlermessage - the message to be handled
reply related to the handling of the messageMessagingException