package com.jthink.skyeye.client.register;
import com.jthink.skyeye.client.constant.NodeMode;
import org.I0Itec.zkclient.ZkClient;
/**
* JThink@JThink
*
* @author JThink
* @version 0.0.1
* @desc zookeeper注册中心
* @date 2016-09-21 14:03:46
*/
public class ZkRegister {
// zkClient
private ZkClient client;
public ZkRegister(ZkClient client) {
this.client = client;
}
/**
* 创建节点
* @param path
* @param nodeMode
*/
public void create(String path, NodeMode nodeMode) {
if (nodeMode.symbol().equals(NodeMode.PERSISTENT.symbol())) {
// 创建永久节点
this.client.createPersistent(nodeMode.label() + path, true);
} else if (nodeMode.symbol().equals(NodeMode.EPHEMERAL.symbol())) {
// 创建临时节点
this.client.createEphemeral(nodeMode.label() + path);
}
}
/**
* 创建带data的节点
* @param path
* @param nodeMode
* @param data
*/
public void create(String path, NodeMode nodeMode, String data) {
if (nodeMode.symbol().equals(NodeMode.PERSISTENT.symbol())) {
// 创建永久节点,加入数据
this.client.createPersistent(nodeMode.label() + path, true);
} else if (nodeMode.symbol().equals(NodeMode.EPHEMERAL.symbol())) {
// 创建临时节点,加入数据
this.client.createEphemeral(nodeMode.label() + path, data);
}
}
/**
* 写节点数据
* @param path
* @param nodeMode
* @param data
*/
public void write(String path, NodeMode nodeMode, String data) {
if (nodeMode.symbol().equals(NodeMode.PERSISTENT.symbol())) {
// 创建永久节点,加入数据
this.client.writeData(nodeMode.label() + path, true);
} else if (nodeMode.symbol().equals(NodeMode.EPHEMERAL.symbol())) {
// 创建临时节点,加入数据
this.client.writeData(nodeMode.label() + path, data);
}
}
public ZkClient getClient() {
return client;
}
public void setClient(ZkClient client) {
this.client = client;
}
}