public class MessageBrokerRegistry
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.lang.String[] |
applicationDestinationPrefixes |
private ChannelRegistration |
brokerChannelRegistration |
private StompBrokerRelayRegistration |
brokerRelayRegistration |
private SubscribableChannel |
clientInboundChannel |
private MessageChannel |
clientOutboundChannel |
private SimpleBrokerRegistration |
simpleBrokerRegistration |
private java.lang.String |
userDestinationPrefix |
Constructor and Description |
---|
MessageBrokerRegistry(SubscribableChannel clientInboundChannel,
MessageChannel clientOutboundChannel) |
Modifier and Type | Method and Description |
---|---|
ChannelRegistration |
configureBrokerChannel()
Customize the channel used to send messages from the application to the message
broker.
|
SimpleBrokerRegistration |
enableSimpleBroker(java.lang.String... destinationPrefixes)
Enable a simple message broker and configure one or more prefixes to filter
destinations targeting the broker (e.g.
|
StompBrokerRelayRegistration |
enableStompBrokerRelay(java.lang.String... destinationPrefixes)
Enable a STOMP broker relay and configure the destination prefixes supported by the
message broker.
|
protected java.util.Collection<java.lang.String> |
getApplicationDestinationPrefixes() |
protected ChannelRegistration |
getBrokerChannelRegistration() |
protected SimpleBrokerMessageHandler |
getSimpleBroker(SubscribableChannel brokerChannel) |
protected StompBrokerRelayMessageHandler |
getStompBrokerRelay(SubscribableChannel brokerChannel) |
protected java.lang.String |
getUserDestinationPrefix() |
MessageBrokerRegistry |
setApplicationDestinationPrefixes(java.lang.String... prefixes)
Configure one or more prefixes to filter destinations targeting application
annotated methods.
|
MessageBrokerRegistry |
setUserDestinationPrefix(java.lang.String destinationPrefix)
Configure the prefix used to identify user destinations.
|
private final SubscribableChannel clientInboundChannel
private final MessageChannel clientOutboundChannel
private SimpleBrokerRegistration simpleBrokerRegistration
private StompBrokerRelayRegistration brokerRelayRegistration
private java.lang.String[] applicationDestinationPrefixes
private java.lang.String userDestinationPrefix
private ChannelRegistration brokerChannelRegistration
public MessageBrokerRegistry(SubscribableChannel clientInboundChannel, MessageChannel clientOutboundChannel)
public SimpleBrokerRegistration enableSimpleBroker(java.lang.String... destinationPrefixes)
public StompBrokerRelayRegistration enableStompBrokerRelay(java.lang.String... destinationPrefixes)
public MessageBrokerRegistry setApplicationDestinationPrefixes(java.lang.String... prefixes)
When messages are processed, the matching prefix is removed from the destination in order to form the lookup path. This means annotations should not contain the destination prefix.
Prefixes that do not have a trailing slash will have one automatically appended.
public MessageBrokerRegistry setUserDestinationPrefix(java.lang.String destinationPrefix)
For example when a user attempts to subscribe to "/user/queue/position-updates", the destination may be translated to "/queue/position-updatesi9oqdfzo" yielding a unique queue name that does not collide with any other user attempting to do the same. Subsequently when messages are sent to "/user/{username}/queue/position-updates", the destination is translated to "/queue/position-updatesi9oqdfzo".
The default prefix used to identify such destinations is "/user/".
public ChannelRegistration configureBrokerChannel()
protected SimpleBrokerMessageHandler getSimpleBroker(SubscribableChannel brokerChannel)
protected StompBrokerRelayMessageHandler getStompBrokerRelay(SubscribableChannel brokerChannel)
protected java.util.Collection<java.lang.String> getApplicationDestinationPrefixes()
protected java.lang.String getUserDestinationPrefix()
protected ChannelRegistration getBrokerChannelRegistration()