当前位置: 首页>>代码示例>>Java>>正文


Java ZkClient.createPersistent方法代码示例

本文整理汇总了Java中org.I0Itec.zkclient.ZkClient.createPersistent方法的典型用法代码示例。如果您正苦于以下问题:Java ZkClient.createPersistent方法的具体用法?Java ZkClient.createPersistent怎么用?Java ZkClient.createPersistent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.I0Itec.zkclient.ZkClient的用法示例。


在下文中一共展示了ZkClient.createPersistent方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: nextId

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
/**
 * 利用zookeeper
 * @return
 */
@Override
public String nextId() {
    String app = this.registerDto.getApp();
    String host = this.registerDto.getHost();
    ZkClient zkClient = this.registerDto.getZkClient();
    String path = Constants.ZK_REGISTRY_ID_ROOT_PATH + Constants.SLASH + app + Constants.SLASH + host;
    if (zkClient.exists(path)) {
        // 如果已经有该节点,表示已经为当前的host上部署的该app分配的编号(应对某个服务重启之后编号不变的问题),直接获取该id,而无需生成
        return zkClient.readData(Constants.ZK_REGISTRY_ID_ROOT_PATH + Constants.SLASH + app + Constants.SLASH + host);
    } else {
        // 节点不存在,那么需要生成id,利用zk节点的版本号每写一次就自增的机制来实现
        Stat stat = zkClient.writeDataReturnStat(Constants.ZK_REGISTRY_SEQ, new byte[0], -1);
        // 生成id
        String id = String.valueOf(stat.getVersion());
        // 将数据写入节点
        zkClient.createPersistent(path, true);
        zkClient.writeData(path, id);
        return id;
    }
}
 
开发者ID:JThink,项目名称:SkyEye,代码行数:25,代码来源:IncrementIdGen.java

示例2: makeSure

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
public static void makeSure(ZkClient client, final String dataPath) {
	int start = 0, index;
	while (true) {
		index = dataPath.indexOf("/", start + 1);

		if (index == start + 1) {
			return;
		}
		String path = dataPath;
		if (index > 0) {
			path = dataPath.substring(0, index);
			start = index;
		}
		if (!client.exists(path)) {
			client.createPersistent(path);
		}

		if (index < 0 || index == dataPath.length() - 1) {
			return;
		}
	}
}
 
开发者ID:youtongluan,项目名称:sumk,代码行数:23,代码来源:ZkClientHolder.java

示例3: startServer

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
public static KafkaServerStartable startServer(final int port, final int brokerId,
    final String zkStr, final Properties configuration) {
  // Create the ZK nodes for Kafka, if needed
  int indexOfFirstSlash = zkStr.indexOf('/');
  if (indexOfFirstSlash != -1) {
    String bareZkUrl = zkStr.substring(0, indexOfFirstSlash);
    String zkNodePath = zkStr.substring(indexOfFirstSlash);
    ZkClient client = new ZkClient(bareZkUrl);
    client.createPersistent(zkNodePath, true);
    client.close();
  }

  File logDir = new File("/tmp/kafka-" + Double.toHexString(Math.random()));
  logDir.mkdirs();

  configureKafkaPort(configuration, port);
  configureZkConnectionString(configuration, zkStr);
  configureBrokerId(configuration, brokerId);
  configureKafkaLogDirectory(configuration, logDir);
  KafkaConfig config = new KafkaConfig(configuration);

  KafkaServerStartable serverStartable = new KafkaServerStartable(config);
  serverStartable.startup();

  return serverStartable;
}
 
开发者ID:uber,项目名称:uReplicator,代码行数:27,代码来源:KafkaStarterUtils.java

示例4: startServer

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
public static KafkaServerStartable startServer(final int port, final int brokerId, final String zkStr,
    final Properties configuration) {
  // Create the ZK nodes for Kafka, if needed
  int indexOfFirstSlash = zkStr.indexOf('/');
  if (indexOfFirstSlash != -1) {
    String bareZkUrl = zkStr.substring(0, indexOfFirstSlash);
    String zkNodePath = zkStr.substring(indexOfFirstSlash);
    ZkClient client = new ZkClient(bareZkUrl);
    client.createPersistent(zkNodePath, true);
    client.close();
  }

  File logDir = new File("/tmp/kafka-" + Double.toHexString(Math.random()));
  logDir.mkdirs();

  configureKafkaPort(configuration, port);
  configureZkConnectionString(configuration, zkStr);
  configureBrokerId(configuration, brokerId);
  configureKafkaLogDirectory(configuration, logDir);
  KafkaConfig config = new KafkaConfig(configuration);

  KafkaServerStartable serverStartable = new KafkaServerStartable(config);
  serverStartable.startup();

  return serverStartable;
}
 
开发者ID:uber,项目名称:chaperone,代码行数:27,代码来源:KafkaStarterUtils.java

示例5: init

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
private void init() {
    zkClient = new ZkClient(url, sessionTimeout, connectionTimeout,
            new BytesPushThroughSerializer());
    try {
        zkClient.createPersistent(HOME.concat(root).concat("/").
                concat(parent), true);
    } catch (ZkNodeExistsException e) {
        e.printStackTrace();
    }
    cleanExecutors = Executors.newCachedThreadPool();

}
 
开发者ID:tomoncle,项目名称:JavaStudy,代码行数:13,代码来源:IdGenerator.java

示例6: SendCounterHandler

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
public SendCounterHandler(String producerGroup, String zkServers) {
    this.producerGroup = producerGroup;
    int sessionTimeoutMs = 10000;
    int connectionTimeoutMs = 10000;
    zkClient = new ZkClient(zkServers, sessionTimeoutMs, connectionTimeoutMs,
        ZKStringSerializer$.MODULE$);
    //
    groupPath = ROOT + "/" + producerGroup;
    if (!zkClient.exists(groupPath)) {
        zkClient.createPersistent(groupPath, true);
    }
    initCollectionTimer();
}
 
开发者ID:warlock-china,项目名称:azeroth,代码行数:14,代码来源:SendCounterHandler.java

示例7: register

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
/**
 * 向注册中心进行注册,生成该服务的编号并返回
 * @param registerDto
 * @return
 */
@Override
public String register(RegisterDto registerDto) {
    String host = registerDto.getHost();
    String app = registerDto.getApp();

    // 向注册中心注册
    ZkClient zkClient = registerDto.getZkClient();
    zkClient.createPersistent(Constants.ZK_REGISTRY_SERVICE_ROOT_PATH + Constants.SLASH + app, true);
    IdGen idGen = new IncrementIdGen(registerDto);
    String id = idGen.nextId();
    zkClient.createEphemeral(Constants.ZK_REGISTRY_SERVICE_ROOT_PATH + Constants.SLASH + app + Constants.SLASH + host, id);

    return id;
}
 
开发者ID:JThink,项目名称:SkyEye,代码行数:20,代码来源:ZookeeperRegistry.java

示例8: ZkConfigDb

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
public ZkConfigDb ( String zkServers, String rootZkNode )
{
	fZkConnection = new ZkConnection ( zkServers );
	zkClient = new ZkClient ( fZkConnection );
	zkRoot = rootZkNode == null ? "" : rootZkNode;

	if ( rootZkNode.length() > 0 && !zkClient.exists(zkRoot) )
	{
		zkClient.createPersistent ( zkRoot, true );
	}
}
 
开发者ID:att,项目名称:dmaap-framework,代码行数:12,代码来源:ZkConfigDb.java

示例9: test

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
/**
 * @Description: zkClient主要做了两件事情。
 * @see:一件是在session loss和session expire时自动创建新的ZooKeeper实例进行重连。
 * @see:一件是将一次性watcher包装为持久watcher。
 * @see:后者的具体做法是简单的在watcher回调中,重新读取数据的同时再注册相同的watcher实例。
 */
private static void test() {
	final ZkClient zc = new ZkClient("123.56.118.135:2181");
	// 创建根节点
	/* Persistent与Ephemeral 就是持久化保存到本地和不持久化的区别 ,不能再临时节点下面创建子节点 */
	
	zc.createPersistent("/testroot");
	// zc.createEphemeral("/testroot");
	// 创建子节点
	zc.create("/testroot/node1", "node1", CreateMode.EPHEMERAL);
	zc.createPersistent("/testroot/node2");
	zc.create("/testroot/node2/test", "node1", CreateMode.EPHEMERAL);
	List<String> children = zc.getChildren("/");
	log.info("根节点下面的字节点个数" + children.size());
	
	// 获得子节点个数
	
	int chidrenNumbers = zc.countChildren("/testroot");
	log.info("子节点个数" + chidrenNumbers);
	
	zc.writeData("/testroot/node2/test", "给节点写数据");
	
	// 删除节点
	zc.delete("/testroot/node2/test");
	zc.delete("/testroot/node2");
	zc.delete("/testroot/node1");
	zc.delete("/testroot");
}
 
开发者ID:ggj2010,项目名称:javabase,代码行数:34,代码来源:ZclientNormal.java

示例10: SendCounterHandler

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
public SendCounterHandler(String producerGroup, ZkClient zkClient) {
	this.zkClient = zkClient;
	this.producerGroup =producerGroup;
	//
	groupPath = ROOT + "/" + producerGroup;
	if(!zkClient.exists(groupPath)){
		zkClient.createPersistent(groupPath, true);
	}
	initCollectionTimer();
}
 
开发者ID:vakinge,项目名称:jeesuite-libs,代码行数:11,代码来源:SendCounterHandler.java

示例11: save

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
@Override
public void save() {
    ZkClient client = client();
    try {
        client.createPersistent(path, true);
        client.writeData(path, Nodes.toJson().toString().getBytes(Charset.forName("utf-8")));
    } finally { client.close(); }
}
 
开发者ID:elodina,项目名称:hdfs-mesos,代码行数:9,代码来源:Storage.java

示例12: init

import org.I0Itec.zkclient.ZkClient; //导入方法依赖的package包/类
private void init(){
    zkClient = new ZkClient(zkConnects);
    if(!zkClient.exists(Constants.ZK_ROOT)){
        zkClient.createPersistent(Constants.ZK_ROOT);
    }
}
 
开发者ID:dubboclub,项目名称:reloud,代码行数:7,代码来源:RegistryClient.java


注:本文中的org.I0Itec.zkclient.ZkClient.createPersistent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。