循环依赖问题差点导致线上事故

1.背景

起因是同事在测试环境启动项目时日志报了个循环依赖的错误,日志提示类A和类B发生了循环依赖。

2.排查

但是经过代码排查,发现这两个类之间并没有循环依赖的关系。随后重启项目后并没有此类情况发生。但是后面在构建项目的时候,此类情况会偶然出现。

到了发版的日期,同事将此情况汇报给了组长,没想到才没过一会儿,组长就发现代码中确实有循环依赖,只不过该循环依赖存在于3个类之间,也就是A->B->C->A。查看代码发现,也确实是同事新写的代码的问题。在同事修改代码之前,类的关系是B->C->A,然后同事后面又在A中引入了B,所以引发了循环依赖。

3.偶然出现循环依赖的原因

至于项目启动偶然才出现循环依赖的问题,这应该和类的加载顺序有关,因为spring在默认情况下不保证bean的加载顺序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值