Dubbo(四)之xml配置方式
轉載自??Dubbo xml配置方式
以 XML 配置的方式來配置你的 Dubbo 應用
有關 XML 的詳細配置項,請參見:配置參考手冊。如果不想使用 Spring 配置,而希望通過 API 的方式進行調用,請參見:API配置。想知道如何使用配置,請參見:快速啟動。
請在此查看文檔描述的完整示例
provider.xml 示例
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"xmlns="http://www.springframework.org/schema/beans"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd"><dubbo:application name="demo-provider"/><dubbo:registry address="zookeeper://127.0.0.1:2181"/><dubbo:protocol name="dubbo" port="20890"/><bean id="demoService" class="org.apache.dubbo.samples.basic.impl.DemoServiceImpl"/><dubbo:service interface="org.apache.dubbo.samples.basic.api.DemoService" ref="demoService"/> </beans>consumer.xml示例
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"xmlns="http://www.springframework.org/schema/beans"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd"><dubbo:application name="demo-consumer"/><dubbo:registry group="aaa" address="zookeeper://127.0.0.1:2181"/><dubbo:reference id="demoService" check="false" interface="org.apache.dubbo.samples.basic.api.DemoService"/> </beans>所有標簽都支持自定義參數,用于不同擴展點實現的特殊配置,如:
<dubbo:protocol name="jms"><dubbo:parameter key="queue" value="your_queue" /> </dubbo:protocol>或:?1
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd"> <dubbo:protocol name="jms" p:queue="your_queue" /> </beans>配置之間的關系
?
| <dubbo:service/> | 服務配置 | 用于暴露一個服務,定義服務的元信息,一個服務可以用多個協議暴露,一個服務也可以注冊到多個注冊中心 |
| <dubbo:reference/>?2 | 引用配置 | 用于創建一個遠程服務代理,一個引用可以指向多個注冊中心 |
| <dubbo:protocol/> | 協議配置 | 用于配置提供服務的協議信息,協議由提供方指定,消費方被動接受 |
| <dubbo:application/> | 應用配置 | 用于配置當前應用信息,不管該應用是提供者還是消費者 |
| <dubbo:module/> | 模塊配置 | 用于配置當前模塊信息,可選 |
| <dubbo:registry/> | 注冊中心配置 | 用于配置連接注冊中心相關信息 |
| <dubbo:monitor/> | 監控中心配置 | 用于配置連接監控中心相關信息,可選 |
| <dubbo:provider/> | 提供方配置 | 當 ProtocolConfig 和 ServiceConfig 某屬性沒有配置時,采用此缺省值,可選 |
| <dubbo:consumer/> | 消費方配置 | 當 ReferenceConfig 某屬性沒有配置時,采用此缺省值,可選 |
| <dubbo:method/> | 方法配置 | 用于 ServiceConfig 和 ReferenceConfig 指定方法級的配置信息 |
| <dubbo:argument/> | 參數配置 | 用于指定方法參數配置 |
不同粒度配置的覆蓋關系
以 timeout 為例,下圖顯示了配置的查找順序,其它 retries, loadbalance, actives 等類似:
- 方法級優先,接口級次之,全局配置再次之。
- 如果級別一樣,則消費方優先,提供方次之。
其中,服務提供方配置,通過 URL 經由注冊中心傳遞給消費方。
?
(建議由服務提供方設置超時,因為一個方法需要執行多長時間,服務提供方更清楚,如果一個消費方同時引用多個服務,就不需要關心每個服務的超時設置)。
理論上 ReferenceConfig 中除了interface這一項,其他所有配置項都可以缺省不配置,框架會自動使用ConsumerConfig,ServiceConfig, ProviderConfig等提供的缺省配置。
2.1.0?開始支持,注意聲明:xmlns:p="http://www.springframework.org/schema/p"???
引用缺省是延遲初始化的,只有引用被注入到其它 Bean,或被?getBean()?獲取,才會初始化。如果需要饑餓加載,即沒有人引用也立即生成動態代理,可以配置:<dubbo:reference ... init="true" />???
總結
以上是生活随笔為你收集整理的Dubbo(四)之xml配置方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PR视频剪辑第一课PR剪辑视频教程
- 下一篇: Dubbo(五)之动态配置中心