Spring Websocket配置流程分析
我们在使用Spring Websocket的时候需要添加下面的依赖: 问题开始于想要开发一个聊天应用程序,需要保存已经通过websocket建立连接的session,当向某个客户端发送消息的时候,检查对方是否在线。如果不在线,则保存离线消息。首先从配置websocket开始: 配置websocket 使用websocket的时候首先需要配置好websocket的端点信息,用于客户端建立连接。一般会使用实现WebSocketMessageBrokerConfigurer接口的方式,通过里面的registerStompEndpoints方法进行注册,如果是与spring security进行集成的话,可以继承AbstractSecurityWebSocketMessageBrokerConfigurer类 通过上面的方式我们定义了一个WebSocketMessageBrokerConfigurer类型的配置类。在项目运行的时候,这个类会被注入到DelegatingWebSocketMessageBrokerConfiguration类中,在这个类中会自动注入容器内所有的WebSocketMessageBrokerConfigurer配置: 这也是一个配置类,也会被自动加载到spring容器中。同时在这个类中声明了多个@Bean,我们主要来看stompWebSocketHandlerMapping和subProtocolWebSocketHandler。 将websocket路径转换为HandlerMapping 我们可以看到,在这个类中会创建WebMvcStompEndpointRegistry对象,里面由两部分组成:– WebSocketHandler:处理WebSocket消息和生命周期事件;– StompSubProtocolHandler:子协议处理器,可以处理STOMP的1.0, 1.1, and 1.2版本;…
Read More