最近研究websocket是发现一个问题,自动注入失败,代码如下:
@ServerEndpoint(value = "/websocket/{authToken}")
@Component
public class EzgoWebSocket {
@Autowired
private TokenService tokenService;
}
其中的tokenService是null,然后导致用到这个对象的方法全部爆空指针异常。
研究了一波websocket源码,现在直接贴代码。
服务端与客户端建立连接时,
1.初始化连接
@Override
public void init(WebConnection connection) {
if (ep == null) {
throw new IllegalStateException(
sm.getString("wsHttpUpgradeHandler.noPreInit"));
}
String httpSessionId = null;
Object session = handshakeRequest.getHttpSession();
<