DUBBO配置项的优先级: java -D优先于 Spring配置,Spring配置优先于 properties文件的配置,这也符合一般项目的规则.
覆盖策略:
- JVM启动-D参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。
- XML次之,如果在XML中有配置,则dubbo.properties中的相应配置项无效。
- Properties最后,相当于缺省值,只有XML没有配置时,dubbo.properties的相应配置项才会生效,通常用于共享公共配置,比如应用名。
eg: client
dubbo.container=log4j,spring
启动时检查
(+) (#)
Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true
主机端口配置:
1. 在dubbo.xml中加入主机地址的配置:
<dubbo:protocol name="dubbo" port="20880">
3. 或在dubbo.properties中加入主机地址的配置:
dubbo.protocol.dubbo.port=20880
dubbo:provider 服务提供者缺省值
dubbo:service 服务提供者
Spring Container
自动加载META-INF/spring目录下的所有Spring配置。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.spring.config=classpath*:META-INF/spring/*.xml ----配置spring配置加载位置