元数据配置需要好几个部分都配置 首先是admin方面需要配置一个dubbo.properties节点 然后其他的服务端需要配置dubbo-config
在dubbo-admin控制台程序中已经有了元数据中心的配置了
然后需要加入创建ZK元数据中心节点的代码 或者手动在zk客户端添加
@PostConstruct
public void init() throws Exception {
CuratorFramework zkClient = CuratorFrameworkFactory.builder().
connectString("127.0.0.1:2182").
retryPolicy(new ExponentialBackoffRetry(1000, 3)).build();
zkClient.start();
if (zkClient.checkExists().forPath("/dubbo/config/dubbo/dubbo.properties") == null) {
zkClient.create().creatingParentsIfNeeded().forPath("/dubbo/config/dubbo/dubbo.properties");
}
zkClient.setData().forPath("/dubbo/config/dubbo/dubbo.properties", ("dubbo.registry.address=zookeeper://127.0.0.1:2182\n" +
"dubbo.metadata-report.address=zookeeper://127.0.0.1:2182").getBytes());
}
//我这是第二个注册中心,所以是2182 这个端口号需要根据你的注册中心修改
然后就是配置自己项目的provider端了 加入一个dubbo.configcenter 加入这个让他识别有配置的注册中心地址
具体可以参考
https://github.com/apache/incubator-dubbo-admin/issues/342
上面这个issue 应该是基本概括完整了