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
MessageHandler
MessageRejectedException
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 MessageHandler
message
- the message to be handled
reply related to the handling of the messageMessagingException