踩坑之SpringBoot WebSocker 部署Tomcat冲突

本文解决了一个在Docker中启动Tomcat容器并部署SpringBoot项目时遇到的WebSocket冲突问题。通过理解@ServerEndpoint注解和ServerEndpointExporter的作用,避免在使用SpringBoot内置容器时注入ServerEndpointExporter,从而解决了WebSocketendpoint的注册冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天使用Docker启动tomcat容器,部署SpringBoot项目,启动项目报错,如下图:
在这里插入图片描述
看1、2的顺序就知道是WebSocket冲突了。

上网找了一下资料发现,使用@ServerEndpoint创立websocket endpoint的时候,首先要注入ServerEndpointExporter,这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint。
如果使用独立的servlet容器,而不是直接使用springboot的内置容器,就不要注入ServerEndpointExporter,因为它将由容器自己提供和管理
原本代码是这样的
在这里插入图片描述

然后注释了这一段Bean的注入,重新打包就解决了问题。

在这里插入图片描述

参考资料

https://www.cnblogs.com/bianzy/p/5822426.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值