发布时间:2022-10-15 21:00
//服务地址列表
private volatile List serverAddressList=new ArrayList();
/**
* 初始化服务地址信息
* @param serviceName 服务名称
* @param zkServiceStr zk地址
* @param rootPath 根路径
*/
public void init(String serviceName,String zkServiceStr,String rootPath){
String servicePath=rootPath+"/"+serviceName;
ZkClient zkClient=new ZkClient(zkServiceStr);
boolean serviceExists=zkClient.exists(servicePath);
if(serviceExists){
//如果服务节点存在,那么取出下面所有的服务地址的临时节点
serverAddressList=zkClient.getChildren(servicePath);
}else{
throw new RuntimeException("service not exits!");
}
//注册事件监听
zkClient.subscribeChildChanges(servicePath, new IZkChildListener() {
@Override
public void handleChildChange(String parentPath, List currentChilds) throws Exception {
serverAddressList=currentChilds;
}
});
}
MySQL存储过程输入参数(in),输出参数(out),输入输出参数(inout)
活动报名|聚焦案例实践,Apache Pulsar 在线 Meetup 火热来袭
Vuex持久化插件(vuex-persistedstate)
编译错误Variable-sized object may not be initialized 出现的原因及解决措施
springMVC 优雅的校验参数(@Valid和@Validated)
TGRS2022/遥感:An Empirical Study of Remote Sensing Pretraining遥感预训练的实证研究