这是个顺序问题。check 的引入是为了保证 consumer 的启动不会依赖 provider 的启动,尤其是存在循环依赖的时候强制检查导致无法启动的现象出现。
On Wed, Feb 13, 2019 at 3:19 PM LiZhenNet <[email protected]> wrote: > dubbo.registry.check . 是启动时候监测注册中心是否存在。 > dubbo.reference.check=false 用的会比较多, 会在启动时判断服务提供者是否存在,如果是true,当服务提供者列表为空时 > ,会报错提示。 false 则不检查。 > > 一直以来 <[email protected]> 于2019年2月13日周三 上午11:54写道: > > > dubbo.reference.check=false,强制改变所有 reference 的 check 值,就算配置中有声明,也会被覆盖。 > > > > dubbo.consumer.check=false,是设置 check 的缺省值,如果配置中有显式的声明,如:<dubbo:reference > > check="true"/>,不会受影响。 > > > > > > > dubbo.registry.check=false,前面两个都是指订阅成功,但提供者列表是否为空是否报错,如果注册订阅失败时,也允许启动,需使用此选项,将在后台定时重试。 > > > > > > > > > > ----------------------------------------- > > > > > > > dubbo.registry.check=false,前面两个都是指订阅成功,但提供者列表是否为空是否报错,如果注册订阅失败时,也允许启动,需使用此选项,将在后台定时重试。 > > > > 上面这句话中的“前面两个都是指订阅成功”,我不太理解这个“订阅成功”是指什么?,如果使用check=false说明提供者都不存在,怎么订阅成功了? > > > > > > > > > > > > > 这句话“但提供者列表是否为空是否报错,如果注册订阅失败时,也允许启动,需使用此选项,将在后台定时重试。”,说明提供者列表为空就出现了异常,那和提供者都不存在也没有区别啊,本质上都是提供者不存在,那么使用dubbo.registry.check=false的意义是什么呢?? > > > > > > > > > > 感谢 !由于要讲的内容太多,所以用了中文,感谢 ! >
