Dubbo的配置

Dubbo的配置其实已经在[官网](http://dubbo.apache.org/zh-cn/docs/user/configuration/xml.html

)说的很详细了。

分为以下三类:

1.Xml配置
2.API配置
3.注解配置

配置之间的关系

配置之间的关系.png

不同粒度配置的覆盖关系

  • 方法级优先,接口级次之,全局配置再次之。
  • 如果级别一样,则消费方优先,提供方次之。

配置覆盖关系的优先级

1.JVM System Properties,-D参数
2.Externalized Configuration,外部化配置
3.ServiceConfig、ReferenceConfig等编程接口采集的配置
4.本地配置文件dubbo.properties


image.png

Dubbo的Config的源码结构图

image.png

AbstractInterfaceConfig

AbstractInterfaceConfig是抽象类,ConsumerConfig和ProviderConfig都实现了它。先看看这里的源码

checkRegisty()源码

   protected void checkRegistry() {
        // 当 RegistryConfig 对象数组为空时,若有 `dubbo.registry.address` 配置,进行创建。
        // for backward compatibility 向后兼容
        if (registries == null || registries.isEmpty()) {
            String address = ConfigUtils.getProperty("dubbo.registry.address");
            if (address != null && address.length() > 0) {
                registries = new ArrayList<RegistryConfig>();
                String[] as = address.split("\\s*[|]+\\s*");
                for (String a : as) {
                    RegistryConfig registryConfig = new RegistryConfig();
                    registryConfig.setAddress(a);
                    registries.add(registryConfig);
                }
            }
        }
        if ((registries == null || registries.isEmpty())) {
            throw new IllegalStateException((getClass().getSimpleName().startsWith("Reference")
                    ? "No such any registry to refer service in consumer "
                    : "No such any registry to export service in provider ")
                    + NetUtils.getLocalHost()
                    + " use dubbo version "
                    + Version.getVersion()
                    + ", Please add <dubbo:registry address=\"...\" /> to your spring config. If you want unregister, please set <dubbo:service registry=\"N/A\" />");
        }
        // 读取环境变量和 properties 配置到 RegistryConfig 对象数组。
        for (RegistryConfig registryConfig : registries) {
            appendProperties(registryConfig);
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容