springboot 整合 websocket的使用,Demo实例在码云里;
1.启动项目报错@ServerEndpoint 注册失败,java.lang.IllegalStateException: Failed to register @ServerEndpoint class: class com.*$$EnhancerBySpringCGLIB$$b83c4359,参考了下:https://www.jianshu.com/p/bc15f83cf374,解决办法是:将此类放移至非aop扫描包之下
2.WebSocket错误:java.lang.IllegalStateException: The WebSocket session [1] has been closed and no method (apart from close()) may be called on a closed session,出现这个问题的原因是:在建立连接时保存的对象id,在断开连接时移除失败,所以对应services中的onOpen()方法存储的id 以及 onClose()方法中移除的id ,即可。
3.本地开发的时候,需要手写WebsocketConfiguration类,交由spring管理 ServerEndpointExporter 类,但是当打包war包然后运行在tomcat等中间件时,此类将影响项目启动websocket,所以打包时需注意这个文件
网友评论