1. 概述
本文接 《API 配置(二)之服务提供者》 ,分享服务消费者相关的配置。
- 红框部分,consumer-side
还是老样子,我们先来看一段 《Dubbo 用户指南 —— API 配置》 ,服务消费者的初始化代码:
// 当前应用配置 ApplicationConfig application = new ApplicationConfig(); application.setName("yyy"); // 连接注册中心配置 RegistryConfig registry = new RegistryConfig(); registry.setAddress("10.20.130.230:9090"); registry.setUsername("aaa"); registry.setPassword("bbb"); // 注意:ReferenceConfig为重对象,内部封装了与注册中心的连接,以及与服务提供方的连接 // 引用远程服务 ReferenceConfig<XxxService> reference = new ReferenceConfig<XxxService>(); // 此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏 reference.setApplication(application); reference.setRegistry(registry); // 多个注册中心可以用setRegistries() reference.setInterface(XxxService.class); reference.setVersion("1.0.0"); // 和本地bean一样使用xxxService XxxService xxxService = reference.get(); // 注意:此代理对象内部封装了所有通讯细节,对象较重,请缓存复用 |
2. AbstractReferenceConfig
com.alibaba.dubbo.config.AbstractReferenceConfig
,实现 AbstractInterfaceConfig ,抽象引用配置类。
- 具体属性的解释,需要寻找在 《Dubbo 用户指南 —— dubbo:reference》 或 《Dubbo 用户指南 —— dubbo:consumer》 文档。
3. ConsumerConfig
com.alibaba.dubbo.config.ConsumerConfig
,实现 AbstractReferenceConfig ,服务消费者缺省值配置。
- 具体属性的解释,参见 《Dubbo 用户指南 —— dubbo:consumer》 文档。
4. ReferenceConfig
com.alibaba.dubbo.config.ReferenceConfig
,服务消费者引用服务配置类。
- 具体属性的解释,参见 《Dubbo 用户指南 —— dubbo:consumer》 文档。
下面,我们进入正戏。
在文初的 ReferenceConfig 的初始化示例代码中,最后调用的是 ServiceConfig#get()
方法。从方法的命名,我们可以看出,获取引用服务。该方法主要做了如下几件事情:
- 进一步初始化 ReferenceConfig 对象。
- 校验 ReferenceConfig 对象的配置项。
- 使用 ReferenceConfig 对象,生成 dubbo URL 对象数组。
- 使用 dubbo URL 对象,应用服务。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。