SpringBlade微服务开发平台整合webSocket的问题

Blade 未结 4 3846
berton
berton 剑童 2020-03-17 08:55

一、该问题的重现步骤是什么?

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]


五、若有更多详细信息,请在下面提供。



4条回答
  • 2020-08-12 13:49

    原回答:猜测原因:作者用的是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>

    5 讨论(1)
  • 2020-07-03 15:22

    大佬怎么解决了吗

    0 讨论(0)
  • 2020-08-25 14:23

    求解决啊。

    0 讨论(1)
  • 2023-02-23 18:32

    参考上面说的排除undertow-websockets-jsr启动成功了,BladeBoot 3.0.1

    QQ拼音截图20230223183105.png

    0 讨论(0)
提交回复