motan-core#com.weibo.api.motan.config 这个 package 定义了一系列 Config 类,用于处理服务发布和服务引用的一些配置。
关于Config, Motan 支持三种使用方式:
- 编程 API
- 与 Spring 集成的 XML 配置
- 与 Spring 集成的 Annotation 配置
我们先来看下编程 API 的使用方式,然后看看 Motan 是如何与 Spring 集成的,本文假设你已经对 Spring 的启动过程和一些 hook 接口有基本的了解。
编程 API
1. 服务发布1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20ServiceConfig<MotanDemoService> motanDemoService = new ServiceConfig<MotanDemoService>();
// 设置接口及实现类
motanDemoService.setInterface(MotanDemoService.class);
motanDemoService.setRef(new MotanDemoServiceImpl());
// 配置服务的group以及版本号
motanDemoService.setGroup("motan-demo-rpc");
motanDemoService.setVersion("1.0");
// 配置ZooKeeper注册中心
RegistryConfig zookeeperRegistry = new RegistryConfig();
zookeeperRegistry.setRegProtocol("zookeeper");
zookeeperRegistry.setAddress("127.0.0.1:2181");
motanDemoService.setRegistry(zookeeperRegistry);
// 配置RPC协议
ProtocolConfig protocol = new ProtocolConfig();
protocol.setId("motan");
protocol.setName("motan");
motanDemoService.setProtocol(protocol);
motanDemoService.setExport("motan:8002");
// 服务发布
motanDemoService.export();