import ;
import ;
import ;
import ;
import ;
import ;
import .slf4j.Slf4j;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
public final class NacosRegistryCenter implements ConfigCenterRepository, RegistryCenterRepository {
private ConfigService configService;
private NacosProperties nacosProperties;
private Properties properties = new Properties();
public static final String ACCESS_KEY = "access-key";
public static final String SECRET_KEY = "secret-key";
public void persistEphemeral(String s, String s1) {
("persistEphemeral: " + s + "," + s1);
}
public void init(CenterConfiguration config) {
try {
final String accessKey = ().getProperty(ACCESS_KEY);
final String secretKey = ().getProperty(SECRET_KEY);
(accessKey, "access-key can not be null");
(secretKey, "secret-key can not be null");
nacosProperties = new NacosProperties(properties);
Properties properties = new Properties();
("serverAddr", ());
("namespace", null == () ? "" : ());
("accessKey", accessKey);
("secretKey", secretKey);
configService = (properties);
} catch (final NacosException ex) {
("exception for: {}", ());
}
}
/**
* Get data from nacos instance.
*
* @param key key of data
* @return value of data
*/
public String get(final String key) {
try {
String dataId = ConfigKeyUtils.path2Key(key);
String group = ();
long timeoutMs = ();
return (dataId, group, timeoutMs);
} catch (final NacosException ex) {
("Nacos get config value exception for: {}", ());
return null;
}
}
/**
* Get node's sub-nodes list.
*
* @param key key of data
* @return sub-nodes name list
*/
public List<String> getChildrenKeys(final String key) {
return null;
}
/**
* Persist data.
*
* @param key key of data
* @param value value of data
*/
public void persist(final String key, final String value) {
try {
String dataId = ConfigKeyUtils.path2Key(key);
String group = ();
(dataId, group, value);
} catch (final NacosException ex) {
("Nacos persist config exception for: {}", ());
}
}
/**
* Watch key or path of the config server.
*
* @param key key of data
* @param dataChangedEventListener data changed event listener
*/
public void watch(final String key, final DataChangedEventListener dataChangedEventListener) {
try {
("watch key:" + key);
String dataId = ConfigKeyUtils.path2Key(key);
String group = ();
(dataId, group, new Listener() {
public Executor getExecutor() {
return null;
}
public void receiveConfigInfo(final String configInfo) {
(new DataChangedEvent(key, configInfo, ));
}
});
} catch (final NacosException ex) {
("Nacos watch key exception for: {}", ());
}
}
public void close() {
}
/**
* Get algorithm type.
*
* @return type
*/
public String getType() {
return "nacos";
}
//@Override
//public String get(final String key) {
// return getDirectly(key);
//}
//
//@Override
//public String getDirectly(final String key) {
// try {
// String dataId = ("/", ".");
// String group = ("group", "SHARDING_SPHERE_DEFAULT_GROUP");
// long timeoutMs = (("timeout", "3000"));
// return (dataId, group, timeoutMs);
// } catch (final NacosException ex) {
// ("exception for: {}", ());
// return null;
// }
//}
//
//@Override
//public boolean isExisted(final String key) {
// return !(getDirectly(key));
//}
//
//@Override
//public List<String> getChildrenKeys(final String key) {
// return null;
//}
//
//@Override
//public void persist(final String key, final String value) {
// update(key, value);
//}
//
//@Override
//public void update(final String key, final String value) {
// try {
// String dataId = ("/", ".");
// String group = ("group", "SHARDING_SPHERE_DEFAULT_GROUP");
// (dataId, group, value);
// } catch (final NacosException ex) {
// ("exception for: {}", ());
// }
//}
//
//@Override
//public void persistEphemeral(final String key, final String value) {
//
//}
//
//@Override
//public void watch(final String key, final DataChangedEventListener dataChangedEventListener) {
// try {
// String dataId = ("/", ".");
// String group = ("group", "SHARDING_SPHERE_DEFAULT_GROUP");
// (dataId, group, new Listener() {
//
// @Override
// public Executor getExecutor() {
// return null;
// }
//
// @Override
// public void receiveConfigInfo(final String configInfo) {
// (new DataChangedEvent(key, configInfo, ));
// }
// });
// } catch (final NacosException ex) {
// ("exception for: {}", ());
// }
//}
//
//@Override
//public void close() {
//}
//
//
//@Override
//public String getType() {
// return "nacos";
//}
}