blob: d6033f84225bd0b86c55b5aa43f03995429f1c71 [file] [log] [blame]
package org.apache.dubbo.admin.data.metadata.impl;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.dubbo.admin.data.metadata.MetaDataCollector;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.remoting.zookeeper.ZookeeperClient;
public class ZookeeperMetaDataCollector implements MetaDataCollector {
CuratorFramework client;
URL url;
@Override
public void setUrl(URL url) {
this.url = url;
}
@Override
public URL getUrl() {
return url;
}
@Override
public void init() {
client = CuratorFrameworkFactory.newClient(url.getAddress(), new ExponentialBackoffRetry(1000, 3));
client.start();
}
@Override
public String getMetaData(String path) {
try {
if (client.checkExists().forPath(path) == null) {
return null;
}
return new String(client.getData().forPath(path));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}