dubbo 官方文檔地址:http://dubbo.io/User+Guide-zh.htmjava
項目中存在服務之間存在循環依賴,啓動時老是報錯,經過修改啓動檢查check=false解決,下面是dubbo官網提供的啓動檢查文檔。編程
Dubbo缺省會在啓動時檢查依賴的服務是否可用,不可用時會拋出異常,阻止Spring初始化完成,以便上線時,能及早發現問題,默認check=true。ide
若是你的Spring容器是懶加載的,或者經過API編程延遲引用服務,請關閉check,不然服務臨時不可用時,會拋出異常,拿到null引用,若是check=false,老是會返回引用,當服務恢復時,能自動連上。測試
能夠經過check="false"關閉檢查,好比,測試時,有些服務不關心,或者出現了循環依賴,必須有一方先啓動。ui
關閉某個服務的啓動時檢查:(沒有提供者時報錯)spa
<
dubbo:reference
interface
=
"com.foo.BarService"
check
=
"false"
/>
|
關閉全部服務的啓動時檢查:(沒有提供者時報錯)代理
<
dubbo:consumer
check
=
"false"
/>
|
關閉註冊中心啓動時檢查:(註冊訂閱失敗時報錯)code
<
dubbo:registry
check
=
"false"
/>
|
也能夠用dubbo.properties配置:xml
dubbo.reference.com.foo.BarService.check=false
dubbo.reference.check=false
dubbo.consumer.check=false
dubbo.registry.check=false
|
也能夠用-D參數:htm
java -Ddubbo.reference.com.foo.BarService.check=false
java -Ddubbo.reference.check=false
java -Ddubbo.consumer.check=false
java -Ddubbo.registry.check=false
|
![]() |
注意區別
|
引用缺省是延遲初始化的,只有引用被注入到其它Bean,或被getBean()獲取,纔會初始化。
若是須要飢餓加載,即沒有人引用也當即生成動態代理,能夠配置:
<
dubbo:reference
interface
=
"com.foo.BarService"
init
=
"true"
/>
|