• 中文
    • English
  • 注册
  • 查看作者
  • 我服了!SpringBoot升级后这服务我一个星期都没跑起来!(下)

    上一次的升级过程中差不多已经跑起来90%了,这周一上班解决完一点小问题,服务已经正常跑起来了,于是再拿着一些其他的服务测试了一下,又发现了一些其他的报错,所以继续。

    14. DiscoveryEnabledServer Not Found

    主要问题还是 eureka 中没有了 ribbon 相关的依赖。

    解决方案:手动引入相关依赖包。

    15. 中间件循环依赖

    依然是循环依赖报错,之前没注意看代码,简单的设置了一下为延迟初始化,仔细一看发现代码这样写的,你细品。

    我服了!SpringBoot升级后这服务我一个星期都没跑起来!(下)

    然后启动报错:

    16. CacheMetricsRegistrarConfiguration 报错

    由于在解决 15 的问题一开始是设置为延迟初始化,然后启动发现仍然报错。

    解决方案:去掉 Autowired 注入,15和16的问题全部解决。

    17. kafka-clients 版本和 spring-kafka 不兼容

    升级后默认 是2.8.10版本,KafkaTemplate 报错找不到类,原因在于本地 使用的是 2.3.0 版本。

    我服了!SpringBoot升级后这服务我一个星期都没跑起来!(下)

    解决方案: 升级到兼容版本 3.0.2 ,这个版本是 spring-cloud-dependency 中依赖的版本。

    18. swagger启动报错

    这个报错是因为新版本 Spring Boot 将 Spring MVC 默认路径匹配策略由 改成了 ,这个报错在我这里是WARN,而且非常隐蔽,需要仔细查找。

    解决方案:配置成原来的 ,添加配置

    19. spring-session依赖报错

    启动报错信息:

    使用的是1.3.5.RELEASE,但是打开 Maven 仓库一看,这居然是最新版本?而且还是 2019 年的版本?

    我服了!SpringBoot升级后这服务我一个星期都没跑起来!(下)

    其实并非如此,查找 Github 代码后发现是代码做了模块化拆分,新版本应该引入 。

    20. spring-security版本兼容问题

    在看到 里面代码同时发现 相关依赖代码发生了改变。

    我服了!SpringBoot升级后这服务我一个星期都没跑起来!(下)

    解决方案:引入最新版本 。

    21. RibbonLoadBalancerClient启动报错

    报错信息:

    原因在于位于 里面的 方法发生了改变。

    我服了!SpringBoot升级后这服务我一个星期都没跑起来!(下)

    而我们由于为了继续使用 包,引入的只能是更新到2021年的最新版本 ,这个包最后更新时间是 2021年11月份,所以这里面实现的仍然是老的 方法。

    我服了!SpringBoot升级后这服务我一个星期都没跑起来!(下)

    解决方案:使用同 package 名方式自己重写该类,choose 方法的逻辑其实是和原来传参 object 方法一样的,或者自己把包拉下来改代码重新打包。

    我服了!SpringBoot升级后这服务我一个星期都没跑起来!(下)

    22. MongoDB报错

    新版本下 构造函数发生改变,以前的写法发生编译错误。

    我服了!SpringBoot升级后这服务我一个星期都没跑起来!(下)

    以前的这种写法传参是 。

    现在的写法:

    另外一个问题是原来的 传参是 MongoClientOptions,现在是 MongoClientSettings。

    原来使用 、 等等一些写法也不一样了,示意一下现在的写法:

    另外,如果使用到了 morphia 的话,这个改动就更大了,基本老代码没法用了,尝试了一下,改不动,暂时放弃了。

    总结

    事情基本到这里就暂时告一段落了,有一些老的代码改动太大,基本要废弃重写了,暂时搁置吧。

  • 0
  • 0
  • 0
  • 20
  • 请登录之后再进行评论

    登录
  • 任务
  • 实时动态
  • 发布
  • 单栏布局 侧栏位置: