public abstract class AbstractMessageBrokerConfiguration extends Object implements org.springframework.context.ApplicationContextAware
clientInboundChannel()
and clientOutboundChannel()
deliver
messages to and from remote clients to several message handlers such as the
following.
simpAnnotationMethodMessageHandler()
simpleBrokerMessageHandler()
stompBrokerRelayMessageHandler()
userDestinationMessageHandler()
brokerChannel()
delivers messages from within the application to the
the respective message handlers. brokerMessagingTemplate()
can be injected
into any application component to send messages.
Subclasses are responsible for the parts of the configuration that feed messages to and from the client inbound/outbound channels (e.g. STOMP over WebSocket).
Modifier | Constructor and Description |
---|---|
protected |
AbstractMessageBrokerConfiguration()
Protected constructor.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) |
protected void |
addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers) |
AbstractSubscribableChannel |
brokerChannel() |
org.springframework.core.task.TaskExecutor |
brokerChannelExecutor() |
CompositeMessageConverter |
brokerMessageConverter() |
SimpMessagingTemplate |
brokerMessagingTemplate() |
AbstractSubscribableChannel |
clientInboundChannel() |
org.springframework.core.task.TaskExecutor |
clientInboundChannelExecutor() |
AbstractSubscribableChannel |
clientOutboundChannel() |
org.springframework.core.task.TaskExecutor |
clientOutboundChannelExecutor() |
protected void |
configureClientInboundChannel(ChannelRegistration registration)
A hook for subclasses to customize the message channel for inbound messages
from WebSocket clients.
|
protected void |
configureClientOutboundChannel(ChannelRegistration registration)
A hook for subclasses to customize the message channel for messages from
the application or message broker to WebSocket clients.
|
protected void |
configureMessageBroker(MessageBrokerRegistry registry)
A hook for subclasses to customize message broker configuration through the
provided
MessageBrokerRegistry instance. |
protected boolean |
configureMessageConverters(List<MessageConverter> messageConverters)
Override this method to add custom message converters.
|
protected SimpAnnotationMethodMessageHandler |
createAnnotationMethodMessageHandler()
Protected method for plugging in a custom subclass of
SimpAnnotationMethodMessageHandler . |
protected MappingJackson2MessageConverter |
createJacksonConverter() |
protected SimpUserRegistry |
createLocalUserRegistry()
Deprecated.
as of 5.1 in favor of
createLocalUserRegistry(Integer) |
protected abstract SimpUserRegistry |
createLocalUserRegistry(Integer order)
Create the user registry that provides access to local users.
|
org.springframework.context.ApplicationContext |
getApplicationContext() |
protected MessageBrokerRegistry |
getBrokerRegistry()
An accessor for the
MessageBrokerRegistry that ensures its one-time creation
and initialization through configureMessageBroker(MessageBrokerRegistry) . |
protected ChannelRegistration |
getClientInboundChannelRegistration() |
protected ChannelRegistration |
getClientOutboundChannelRegistration() |
org.springframework.util.PathMatcher |
getPathMatcher()
Provide access to the configured PatchMatcher for access from other
configuration classes.
|
org.springframework.validation.Validator |
getValidator()
Override this method to provide a custom
Validator . |
org.springframework.scheduling.TaskScheduler |
messageBrokerTaskScheduler() |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext) |
SimpAnnotationMethodMessageHandler |
simpAnnotationMethodMessageHandler() |
AbstractBrokerMessageHandler |
simpleBrokerMessageHandler() |
protected org.springframework.validation.Validator |
simpValidator()
Return an
Validator instance for
validating @Payload method arguments. |
AbstractBrokerMessageHandler |
stompBrokerRelayMessageHandler() |
UserDestinationMessageHandler |
userDestinationMessageHandler() |
UserDestinationResolver |
userDestinationResolver() |
SimpUserRegistry |
userRegistry() |
MessageHandler |
userRegistryMessageHandler() |
protected AbstractMessageBrokerConfiguration()
public void setApplicationContext(@Nullable org.springframework.context.ApplicationContext applicationContext)
setApplicationContext
in interface org.springframework.context.ApplicationContextAware
@Nullable public org.springframework.context.ApplicationContext getApplicationContext()
@Bean public AbstractSubscribableChannel clientInboundChannel()
@Bean public org.springframework.core.task.TaskExecutor clientInboundChannelExecutor()
protected final ChannelRegistration getClientInboundChannelRegistration()
protected void configureClientInboundChannel(ChannelRegistration registration)
@Bean public AbstractSubscribableChannel clientOutboundChannel()
@Bean public org.springframework.core.task.TaskExecutor clientOutboundChannelExecutor()
protected final ChannelRegistration getClientOutboundChannelRegistration()
protected void configureClientOutboundChannel(ChannelRegistration registration)
@Bean public AbstractSubscribableChannel brokerChannel()
@Bean public org.springframework.core.task.TaskExecutor brokerChannelExecutor()
protected final MessageBrokerRegistry getBrokerRegistry()
MessageBrokerRegistry
that ensures its one-time creation
and initialization through configureMessageBroker(MessageBrokerRegistry)
.protected void configureMessageBroker(MessageBrokerRegistry registry)
MessageBrokerRegistry
instance.@Nullable public final org.springframework.util.PathMatcher getPathMatcher()
@Bean public SimpAnnotationMethodMessageHandler simpAnnotationMethodMessageHandler()
protected SimpAnnotationMethodMessageHandler createAnnotationMethodMessageHandler()
SimpAnnotationMethodMessageHandler
.protected void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)
protected void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers)
@Bean @Nullable public AbstractBrokerMessageHandler simpleBrokerMessageHandler()
@Bean @Nullable public AbstractBrokerMessageHandler stompBrokerRelayMessageHandler()
@Bean public UserDestinationMessageHandler userDestinationMessageHandler()
@Bean @Nullable public MessageHandler userRegistryMessageHandler()
@Bean(name={"messageBrokerTaskScheduler","messageBrokerSockJsTaskScheduler"}) public org.springframework.scheduling.TaskScheduler messageBrokerTaskScheduler()
@Bean public SimpMessagingTemplate brokerMessagingTemplate()
@Bean public CompositeMessageConverter brokerMessageConverter()
protected MappingJackson2MessageConverter createJacksonConverter()
protected boolean configureMessageConverters(List<MessageConverter> messageConverters)
messageConverters
- the list to add converters to, initially emptytrue
if default message converters should be added to list,
false
if no more converters should be added@Bean public UserDestinationResolver userDestinationResolver()
@Bean public SimpUserRegistry userRegistry()
@Deprecated @Nullable protected SimpUserRegistry createLocalUserRegistry()
createLocalUserRegistry(Integer)
protected abstract SimpUserRegistry createLocalUserRegistry(@Nullable Integer order)
order
- the order to use as a SmartApplicationListener
.protected org.springframework.validation.Validator simpValidator()
Validator
instance for
validating @Payload
method arguments.
In order, this method tries to get a Validator instance:
OptionalValidatorFactoryBean
@Nullable public org.springframework.validation.Validator getValidator()
Validator
.