对dubbo启动时检查check属性的一些个人理解

本文探讨了Dubbo框架中服务引用的check属性,解释了其在启动时检查的作用,以及与Spring懒加载的关系。check属性用于控制是否在启动时检查依赖服务的可用性,如果设置为true,可能会因服务未初始化导致异常;false则允许服务在后续初始化时连接。懒加载策略配合check=false可避免未初始化的服务引用导致的异常,确保应用的正常启动和运行。
摘要由CSDN通过智能技术生成

对于dubbo框架,对服务引用启动时检查的check配置,官方文档的描述是这样的:

Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true"

可以通过 check="false" 关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。

另外,如果你的 Spring 容器是懒加载的,或者通过 API 编程延迟引用服务,请关闭 check,否则服务临时不可用时,会抛出异常,拿到 null 引用,如果 check="false",总是会返回引用,当服务恢复时,能自动连上。

嗯,总结一下,可以解决循环依赖问题,如果配置为true,则开始加载spring容器时会抛异常出来,如果容器懒加载,则需要关闭check以保证应用启动时对可能被懒加载引用的dubbo服务bean不要被检查。

这些讯息很容易把部分开发者的理解引向:dubbo的check如果为true则永远在容器初始化时检查,而懒加载所加载的bean注入的多是容器启动时还未初始化完成的dubbo服务,所以为了让懒加载的bean在加载时能够注入已经初始化完成的服务,ch

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值