nacos-discovery和websocket依赖兼容问题,导致NacosWatch获取错误的TaskScheduler

本文介绍了在将注册中心从其他服务切换到Nacos时遇到的问题。项目在引入Nacos-discovery依赖后,login模块启动失败,原因是Spring Boot的websocket依赖导致TaskScheduler获取错误。通过debug发现,由于NoOpScheduler匹配导致问题。解决方案包括使用@Primary注解或关闭NacosWatch。作者还分享了在提issues过程中的小插曲,提醒开发者注意社区和版本兼容性问题。

一、问题描述

最近公司准备把注册中心换为nacos,手头的项目再一次成为小白鼠。nacos作为注册中心,项目的login模块新引入nacos-discovery依赖启动失败:
在这里插入图片描述

版本依赖:
(1)springboot版本2.0.3.RELEASE
(2)spring-boot-starter-websocket版本2.0.3.RELEASE(以下简称为websocket
(3)spring-cloud-starter-alibaba-nacos-discovery版本2.0.3.RELEASE

二、解决思路

项目一共有两个模块login和security,security正常启动,唯独login启动失败(配置文件中nacos配置属性相同)。再由报错信息关键字"web.socket"和security未引入websocket依赖情况结合猜测,问题出现在login模块的websocket依赖。于是login模块去掉websocket依赖,启动成功。具体问题,经验不足,只能通过debug来排查。
1、security模块获取的TaskScheduler是什么?
根据login模块的报错提示,找到NoOpScheduler类,然后查看方法发现全是抛异常。
在这里插入图片描述

既然这样,看下能正常启动的security模块获取的TaskScheduler是什么。

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值