Dubbo配置文件的加載順序
在使用apache dubbo.version2.7.3 時,配置文件的加載情況。以provider提供服務者為例。
配置文件 ,以下四個配置文件。
其優先級
application.properties
#Dubbo config
dubbo.application.name=boot-ego-user-service-provider
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
application.yml
#Dubbo config
dubbo:
# application:
# name: boot-ego-user-service-provider
# registry:
# address: zookeeper://127.0.0.1:2181
protocol:
# name: dubbo
port: 20881
dubbo.properties
#Dubbo config
dubbo.protocol.port=20882
dubbo.xml
<?xml version="1.0" encoding="UTF-8"?>
<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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:protocol name = "dubbo" port = "20883"></dubbo:protocol>
</beans>
在四個配置文件都 不注釋的情況下,啟動項目,則瀏覽器查看如下圖
總有兩個服務者,其中端口分別為20880 ,20883 。這個為application.properties,dubbo.xml。優先級較高
注釋掉application.properties的端口啟動項目。瀏覽器如下圖
也有兩個服務提供,端口為20881,20883 。這個為application.yml , dubbo.xml。發現這兩個的優先級高於dubbo.properties 。
注釋dubbo.xml啟動項目,瀏覽器如下圖
此時,端口為20880。說明application.properties的配置文件大於yml和dubbo.properties
在注釋yml,application.properties,dubbo.xml文件后,運行,瀏覽器如下
此時只有一個服務者,端口20882 。
如上圖。dubbo.xml文件和yml,application.properties。屬於同一級,但是application.properties文件的優先級高於yml。而dubbo.properties屬於低級,只有以上三個不生效的時候才能有效。