初識Dubbo 系列之7-Dubbo 示例
來源:程序員人生 發(fā)布時間:2015-05-15 08:19:47 閱讀次數(shù):3712次
示例
 |
想完全的運(yùn)行起來,請參見:快速啟動 (+),這里只列出各種場景的配置方式 |
 |
以下示例全部使用基于Spring的Xml配置 (+)作為參考,如果不想使用Spring,而希望通過API的方式進(jìn)行調(diào)用,請參見:API配置
(+) |
啟動時檢查
(+) (#)
 |
Dubbo缺省會在啟動時檢查依賴的服務(wù)是不是可用,不可用時會拋出異常,禁止Spring初始化完成,以便上線時,能盡早發(fā)現(xiàn)問題,默許check=true。 |
 |
如果你的Spring容器是懶加載的,或通過API編程延遲援用服務(wù),請關(guān)閉check,否則服務(wù)臨時不可用時,會拋出異常,拿到null援用,如果check=false,總是會返回援用,當(dāng)服務(wù)恢復(fù)時,能自動連上。 |
可以通過check="false"關(guān)閉檢查,比如,測試時,有些服務(wù)不關(guān)心,或出現(xiàn)了循環(huán)依賴,必須有1方先啟動。
關(guān)閉某個服務(wù)的啟動時檢查:(沒有提供者時報錯)
< dubbo:reference interface = "com.foo.BarService" check = "false" />
|
關(guān)閉所有服務(wù)的啟動時檢查:(沒有提供者時報錯)
< dubbo:consumer check = "false" />
|
關(guān)閉注冊中心啟動時檢查:(注冊定閱失敗時報錯)
< dubbo:registry check = "false" />
|
也能夠用dubbo.properties配置:
dubbo.reference.com.foo.BarService.check=false
dubbo.reference.check=false
dubbo.consumer.check=false
dubbo.registry.check=false
|
也能夠用-D參數(shù):
java -Ddubbo.reference.com.foo.BarService.check=false
java -Ddubbo.reference.check=false
java -Ddubbo.consumer.check=false
java -Ddubbo.registry.check=false
|
 |
注意區(qū)分
- dubbo.reference.check=false,強(qiáng)迫改變所有reference的check值,就算配置中有聲明,也會被覆蓋。
- dubbo.consumer.check=false,是設(shè)置check的缺省值,如果配置中有顯式的聲明,如:<dubbo:reference check="true"/>,不會受影響。
- dubbo.registry.check=false,前面兩個都是指定閱成功,但提供者列表是不是為空是不是報錯,如果注冊定閱失敗時,也允許啟動,需使用此選項,將在后臺定時重試。
|
援用缺省是延遲初始化的,只有援用被注入到其它Bean,或被getBean()獲得,才會初始化。
如果需要饑餓加載,即沒有人援用也立即生成動態(tài)代理,可以配置:
< dubbo:reference interface = "com.foo.BarService" init = "true" />
|
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈