package com.justdebugit.thrift.utils;
import com.justdebugit.thrift.registry.ChangeListener;
import com.justdebugit.thrift.registry.NodeEvent;
import com.justdebugit.thrift.registry.Registry;
/**
* 提供registry工具类
* @author justdebugit@gmail.com
*
*/
public final class ZkRegistryUtils {
private ZkRegistryUtils(){}
/**
* 即便session丢失,重连时会重新注册
*/
public static void registerWithGuaranteed(final Registry registry,final String path,final byte[] bytes){
registry.register(path,bytes);
registry.subscribe(path, new ChangeListener() {
@Override
public void onChange(NodeEvent event) {
switch (event.getType()) {
case NODE_CHANAGED:
if (event.getData()==null) {
registry.register(path, bytes);
}
break;
default:
break;
}
}
});
};
}