开发者社区 > 云原生 > 正文

该如何正确复现这个报错呢?

我问问,该如何正确复现这个报错呢?

我的测试步骤:

1、切到最新版 develop

提问19.png

2、本地使用nacos v1.4.2启动

提问20.png

3、修改applicationyml

提问21.png

4、idea内,run io.seata.server.ServerApplication

提问22.png

5、可以在nacos看到seata server已经注册成功了

提问23.png

6、点击下线后,并未发现报错...

我想说下我的看法,大家看看对不对。

目前发生这个报错的原因是,销毁的时候交给了 jvm自带的ShutdownHook来处理了,导致轮到ShutdownHook做销毁的时候,spring context已经关闭了。

是不是只要把AbstractNettyRemotingServer的生命周期,交给spring来管理,就不会发生这个报错了啊?

原提问者GitHub用户Pinocchio2018

展开
收起
学习娃 2023-06-14 17:06:34 41 0
1 条回答
写回答
取消 提交回答
  • 就是这样的步骤,说明不是必现,因为这个shutdown是异步的

    用spring的DisposableBean来触发,但是切记不要影响rm 和 tm的shut down hook正常运行

    原回答者GitHub用户a364176773

    2023-06-14 17:34:11
    赞同 展开评论 打赏
问答分类:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载