Interface WebSocketMessageBrokerConfigurer
Typically used to customize the configuration provided via
@EnableWebSocketMessageBroker
.
- Since:
- 4.0
- Author:
- Rossen Stoyanchev
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
addArgumentResolvers
(List<HandlerMethodArgumentResolver> argumentResolvers) Add resolvers to support custom controller method argument types.default void
addReturnValueHandlers
(List<HandlerMethodReturnValueHandler> returnValueHandlers) Add handlers to support custom controller method return value types.default void
configureClientInboundChannel
(ChannelRegistration registration) Configure theMessageChannel
used for incoming messages from WebSocket clients.default void
configureClientOutboundChannel
(ChannelRegistration registration) Configure theMessageChannel
used for outbound messages to WebSocket clients.default void
configureMessageBroker
(MessageBrokerRegistry registry) Configure message broker options.default boolean
configureMessageConverters
(List<MessageConverter> messageConverters) Configure the message converters to use when extracting the payload of messages in annotated methods and when sending messages (e.g.default void
Configure options related to the processing of messages received from and sent to WebSocket clients.default Integer
getPhase()
Return thephase
that WebSocket message handling beans of typeSmartLifecycle
should run in.default void
registerStompEndpoints
(StompEndpointRegistry registry) Register STOMP endpoints mapping each to a specific URL and (optionally) enabling and configuring SockJS fallback options.
-
Method Details
-
registerStompEndpoints
Register STOMP endpoints mapping each to a specific URL and (optionally) enabling and configuring SockJS fallback options. -
configureWebSocketTransport
Configure options related to the processing of messages received from and sent to WebSocket clients. -
configureClientInboundChannel
Configure theMessageChannel
used for incoming messages from WebSocket clients. By default, the channel is backed by a thread pool of size 1. It is recommended to customize thread pool settings for production use. -
configureClientOutboundChannel
Configure theMessageChannel
used for outbound messages to WebSocket clients. By default, the channel is backed by a thread pool of size 1. It is recommended to customize thread pool settings for production use. -
addArgumentResolvers
Add resolvers to support custom controller method argument types.This does not override the built-in support for resolving handler method arguments. To customize the built-in support for argument resolution, configure
SimpAnnotationMethodMessageHandler
directly.- Parameters:
argumentResolvers
- the resolvers to register (initially an empty list)- Since:
- 4.1.1
-
addReturnValueHandlers
Add handlers to support custom controller method return value types.Using this option does not override the built-in support for handling return values. To customize the built-in support for handling return values, configure
SimpAnnotationMethodMessageHandler
directly.- Parameters:
returnValueHandlers
- the handlers to register (initially an empty list)- Since:
- 4.1.1
-
configureMessageConverters
Configure the message converters to use when extracting the payload of messages in annotated methods and when sending messages (e.g. through the "broker" SimpMessagingTemplate).The provided list, initially empty, can be used to add message converters while the boolean return value is used to determine if default message should be added as well.
- Parameters:
messageConverters
- the converters to configure (initially an empty list)- Returns:
- whether to also add default converter or not
-
configureMessageBroker
Configure message broker options. -
getPhase
Return thephase
that WebSocket message handling beans of typeSmartLifecycle
should run in.The default implementation returns
null
which allows other configurers to decide. As soon as any configurer returns a value, that value is used. If no configurer returns a value, then by defaultSmartLifecycle.DEFAULT_PHASE
is used.It is recommended to use a phase value such as 0 in order to ensure that components start before the web server in Spring Boot application. In 6.2.0, the default used will change to 0.
- Since:
- 6.1.4
- See Also:
-