一、该问题的重现步骤是什么?
1.
org.springframework.bootspring-boot-starter-websocket
2. 使用ServerEndpointExporter @Bean 加@Configuration导致启动失败
3. 使用spring底层的API实现连接socket会出现404,好像是被系统拦截处理了
二、你期待的结果是什么?实际看到的又是什么?
成功整合webSocket
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
org.springblade 2.3.3,在mac系统
四、请提供详细的错误堆栈信息,这很重要。
2020-03-17 08:42:58.360 WARN 15126 --- [nio-8088-exec-1] o.s.web.servlet.PageNotFound : No mapping for GET /websocket
2020-03-17 08:42:58.375 ERROR 15126 --- [nio-8088-exec-1] o.s.c.l.e.BladeRestExceptionTranslator : 404没找到请求:No handler found for GET /websocket
2020-03-17 08:42:58.405 WARN 15126 --- [nio-8088-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.servlet.NoHandlerFoundException: No handler found for GET /websocket]
五、若有更多详细信息,请在下面提供。
原回答:猜测原因:作者用的是undertow容器 你排除掉这个容器, 使用tomcat试试,我是这样解决的。
过去了两年,来社区搜索关于websocket答案,还是没有答案,无奈自己研究。
作者用的是undertow容器,底层有个jar包与websocket冲突,排除掉这个jar包就能正常启动使用了。
使用maven helper插件找到这个依赖排除掉。
undertow-websockets-jsr
<exclusions>
<exclusion>
<artifactId>undertow-websockets-jsr</artifactId>
<groupId>io.undertow</groupId>
</exclusion>
</exclusions>
大佬怎么解决了吗
求解决啊。
参考上面说的排除undertow-websockets-jsr启动成功了,BladeBoot 3.0.1
扫一扫访问 Blade技术社区 移动端