- 引入HttpSessionWSHelper类
- WebSocket服务类中使用
- SpringBoot_WebSocket_Java后台推送消息
package com.pm.common.socket; import javax.servlet.http.HttpSession; import javax.websocket.HandshakeResponse; import javax.websocket.server.HandshakeRequest; import javax.websocket.server.ServerEndpointConfig; public class HttpSessionWSHelper extends ServerEndpointConfig.Configurator { @Override public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) { System.out.println("调用modifyHandshake方法..."); HttpSession session = (HttpSession) request.getHttpSession();//session有可能为空 if (session!=null){ System.out.println("获取到session id:"+session.getId()); sec.getUserProperties().put(HttpSession.class.getName(),session); }else{ System.out.println("modifyHandshake 获取到null session"); } } }WebSocket服务类中使用
在@ServerEndpoint(value = “/websocket/{name}”)中加入configurator = HttpSessionWSHelper.class
@Slf4j @Component @ServerEndpoint(value = "/websocket/{name}",configurator = HttpSessionWSHelper.class) public class WebSocket { }SpringBoot_WebSocket_Java后台推送消息
SpringBoot_WebSocket_Java后台推送消息