apache / dubbo-admin

The ops and reference implementation for Apache Dubbo
https://dubbo.apache.org
Apache License 2.0
4k stars 2.17k forks source link

dubbo admin找不到元数据原因(针对dubbo2.7.2版本) #457

Closed 18702524676 closed 5 years ago

18702524676 commented 5 years ago

dubbo2.7.2注册到zk上的metadate(原)路径发生变化,dubbo admin源码中获取的路径还上2.7.2之前的版本的路径,所以找不到元数据,解决这个问题只需要修改下拼接路径的方法即可

进入ZookeeperMetaDataCollector.getNodePath()函数

修改为:

private String getNodePath(MetadataIdentifier metadataIdentifier) {
return toRootDir() + metadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.PATH);
// + Constants.PATH_SEPARATOR + METADATA_NODE_NAME; 2.7.2元数据路径已经更换
}
ArtificialIdoit commented 5 years ago

我的2.7.2是这样的

private String getNodePath(MetadataIdentifier metadataIdentifier) {
        return toRootDir() + metadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.PATH);
    }

但还是有问题

18702524676 commented 5 years ago

相关的配置有没有配好,你开一个打个断点在这里 看下路径对不对的上zk上的元数据路径

zhanngyun commented 5 years ago

private String getNodePath(MetadataIdentifier metadataIdentifier) { return toRootDir() + metadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.PATH) + "/service.data"; } 我在后面加了一个 "/service.data"就好了,不知道我的配置有问题还是一个bug

nzomkxia commented 5 years ago

当前develop分支已经修复这个问题了,适配了最新版本的元数据路径