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

Blade 未结 4 3705
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条回答
  •  yxs
    yxs (楼主)
    2020-08-12 13:49

    原回答:猜测原因:作者用的是undertow容器 你排除掉这个容器, 使用tomcat试试,我是这样解决的。

    过去了两年,来社区搜索关于websocket答案,还是没有答案,无奈自己研究。

    作者用的是undertow容器,底层有个jar包与websocket冲突,排除掉这个jar包就能正常启动使用了。

    使用maven helper插件找到这个依赖排除掉。

    undertow-websockets-jsr


    undertow-websockets-jsr

    io.undertow

提交回复