@ConditionalOnProperty(name="websocket.termination.enabled",
matchIfMissing=true)
@EnableConfigurationProperties(value=WsConnectionConfigProps.class)
@AutoConfigureOrder
@ConditionalOnClass(value=org.springframework.web.reactive.DispatcherHandler.class)
public class WsConnectionAutoConfigure
extends java.lang.Object
| Constructor and Description |
|---|
WsConnectionAutoConfigure() |
| Modifier and Type | Method and Description |
|---|---|
reactor.core.publisher.EmitterProcessor<SessionHandler> |
clientConnectedEventBus(IClientConnectionListener clientConnectionListener)
Init a event bus for handling client connection.
|
IClientConnectionListener |
clientConnectionListener(ISessionHolder sessionHolder) |
reactor.core.publisher.EmitterProcessor<SessionHandler> |
clientDisConnectedEventBus(IClientConnectionListener clientConnectionListener)
Init a event bus for handling client disconnection.
|
CommandMappingHandler |
commandMappingHandler(WsConnectionConfigProps connectionConfigProps) |
org.springframework.web.reactive.socket.server.support.WebSocketHandlerAdapter |
handlerAdapter() |
MessageHandler |
messageHandler(WsUtils wsUtils,
CommandMappingHandler commandMappingHandler) |
com.fasterxml.jackson.databind.ObjectMapper |
objectMapper() |
PingPongHandler |
pingPongHandler(WsConnectionConfigProps configProps) |
IRequestParser |
requestParser(WsUtils wsUtils,
CommandMappingHandler commandMappingHandler) |
SessionHandler |
sessionHandler(WsUtils wsUtils,
WsConnectionConfigProps configProps,
reactor.core.publisher.EmitterProcessor<SessionHandler> clientConnectedEventBus,
reactor.core.publisher.EmitterProcessor<SessionHandler> clientDisconnectedEventBus) |
ISessionHolder |
sessionHolder()
Register a session holder bean for maintaining the websocket session in memory.
|
org.springframework.web.reactive.socket.client.WebSocketClient |
webSocketClient() |
WebSocketConnectionEndPoint |
webSocketConnectionEndPoint(CommandMappingHandler mappingHandler,
ISessionHolder sessionHolder) |
org.springframework.web.reactive.socket.WebSocketHandler |
webSocketHandler(WsUtils wsUtils) |
org.springframework.web.reactive.HandlerMapping |
webSocketHandlerMapping(WsConnectionConfigProps connectionConfigProps,
WsUtils utils)
Initialize a handler mapping for websocket.
|
WebSocketMessageEndPoint |
webSocketMessageEndPoint(CommandMappingHandler mappingHandler,
ISessionHolder sessionHolder) |
WsUtils |
wsUtils(org.springframework.context.ApplicationContext ctx) |
@Bean @ConditionalOnMissingBean public org.springframework.web.reactive.socket.client.WebSocketClient webSocketClient()
@Bean @ConditionalOnMissingBean public com.fasterxml.jackson.databind.ObjectMapper objectMapper()
@Bean @ConditionalOnMissingBean public WsUtils wsUtils(org.springframework.context.ApplicationContext ctx)
@Bean @ConditionalOnMissingBean public CommandMappingHandler commandMappingHandler(WsConnectionConfigProps connectionConfigProps)
@Bean @ConditionalOnMissingBean public ISessionHolder sessionHolder()
@Bean @ConditionalOnMissingBean public org.springframework.web.reactive.socket.server.support.WebSocketHandlerAdapter handlerAdapter()
@Bean @ConditionalOnMissingBean public org.springframework.web.reactive.socket.WebSocketHandler webSocketHandler(WsUtils wsUtils)
@Bean public org.springframework.web.reactive.HandlerMapping webSocketHandlerMapping(WsConnectionConfigProps connectionConfigProps, WsUtils utils)
connectionConfigProps - WsConnectionConfigProps@Bean public IClientConnectionListener clientConnectionListener(ISessionHolder sessionHolder)
@Bean(name="clientConnectedEventBus") public reactor.core.publisher.EmitterProcessor<SessionHandler> clientConnectedEventBus(IClientConnectionListener clientConnectionListener)
clientConnectionListener - IClientConnectionListener@Bean(name="clientDisConnectedEventBus") public reactor.core.publisher.EmitterProcessor<SessionHandler> clientDisConnectedEventBus(IClientConnectionListener clientConnectionListener)
clientConnectionListener - IClientConnectionListener@Bean @Scope(value="prototype") public MessageHandler messageHandler(WsUtils wsUtils, CommandMappingHandler commandMappingHandler)
@Bean @Scope(value="prototype") public SessionHandler sessionHandler(WsUtils wsUtils, WsConnectionConfigProps configProps, @Qualifier(value="clientConnectedEventBus") reactor.core.publisher.EmitterProcessor<SessionHandler> clientConnectedEventBus, @Qualifier(value="clientDisConnectedEventBus") reactor.core.publisher.EmitterProcessor<SessionHandler> clientDisconnectedEventBus)
@Bean
@Scope(value="prototype")
@ConditionalOnProperty(name="websocket.termination.ping.enabled",
matchIfMissing=true)
public PingPongHandler pingPongHandler(WsConnectionConfigProps configProps)
@Bean public IRequestParser requestParser(WsUtils wsUtils, CommandMappingHandler commandMappingHandler)
@Bean @ConditionalOnEnabledEndpoint public WebSocketConnectionEndPoint webSocketConnectionEndPoint(CommandMappingHandler mappingHandler, ISessionHolder sessionHolder)
@Bean @ConditionalOnEnabledEndpoint public WebSocketMessageEndPoint webSocketMessageEndPoint(CommandMappingHandler mappingHandler, ISessionHolder sessionHolder)