gpt4 book ai didi

com.twitter.common.zookeeper.ZooKeeperClient.get()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-15 02:44:49 30 4
gpt4 key购买 nike

本文整理了Java中com.twitter.common.zookeeper.ZooKeeperClient.get()方法的一些代码示例,展示了ZooKeeperClient.get()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeperClient.get()方法的具体详情如下:
包路径:com.twitter.common.zookeeper.ZooKeeperClient
类名称:ZooKeeperClient
方法名:get

ZooKeeperClient.get介绍

[英]Returns the current active ZK connection or establishes a new one if none has yet been established or a previous connection was disconnected or had its session time out. This method will attempt to re-use sessions when possible. Equivalent to:

get(Amount.of(0L, ...)

.
[中]返回当前活动的ZK连接,或者如果尚未建立任何连接,或者之前的连接已断开或会话超时,则建立新的ZK连接。如果可能,此方法将尝试重新使用会话。相当于:

get(Amount.of(0L, ...)

代码示例

代码示例来源:origin: pinterest/secor

private void createMissingParents(String path) throws Exception {
  ZooKeeper zookeeper = mZookeeperClient.get();
  assert path.charAt(0) == '/': path + ".charAt(0) == '/'";
  String[] elements = path.split("/");
  String prefix = "";
  for (int i = 1; i < elements.length - 1; ++i) {
    prefix += "/" + elements[i];
    try {
      zookeeper.create(prefix, null, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
      LOG.info("created path {}", prefix);
    } catch (KeeperException.NodeExistsException exception) {
    }
  }
}

代码示例来源:origin: pinterest/secor

public long getCommittedOffsetCount(TopicPartition topicPartition) throws Exception {
  ZooKeeper zookeeper = mZookeeperClient.get();
  String offsetPath = getCommittedOffsetPartitionPath(topicPartition);
  try {
    byte[] data = zookeeper.getData(offsetPath, false, null);
    return Long.parseLong(new String(data));
  } catch (KeeperException.NoNodeException exception) {
    LOG.warn("path {} does not exist in zookeeper", offsetPath);
    return -1;
  }
}

代码示例来源:origin: pinterest/secor

public List<Integer> getCommittedOffsetPartitions(String topic) throws Exception {
  ZooKeeper zookeeper = mZookeeperClient.get();
  String topicPath = getCommittedOffsetTopicPath(topic);
  List<String> partitions = zookeeper.getChildren(topicPath, false);
  LinkedList<Integer> result = new LinkedList<Integer>();
  for (String partitionPath : partitions) {
    String[] elements = partitionPath.split("/");
    String partition = elements[elements.length - 1];
    result.add(Integer.valueOf(partition));
  }
  return result;
}

代码示例来源:origin: pinterest/secor

public List<String> getCommittedOffsetTopics() throws Exception {
  ZooKeeper zookeeper = mZookeeperClient.get();
  String offsetPath = getCommittedOffsetGroupPath();
  List<String> topics = zookeeper.getChildren(offsetPath, false);
  LinkedList<String> result = new LinkedList<String>();
  for (String topicPath : topics) {
    String[] elements = topicPath.split("/");
    String topic = elements[elements.length - 1];
    result.add(topic);
  }
  return result;
}

代码示例来源:origin: pinterest/secor

public void deleteCommittedOffsetPartitionCount(TopicPartition topicPartition)
    throws Exception {
  String offsetPath = getCommittedOffsetPartitionPath(topicPartition);
  ZooKeeper zookeeper = mZookeeperClient.get();
  LOG.info("deleting path {}", offsetPath);
  zookeeper.delete(offsetPath, -1);
}

代码示例来源:origin: pinterest/secor

public void setCommittedOffsetCount(TopicPartition topicPartition, long count)
    throws Exception {
  ZooKeeper zookeeper = mZookeeperClient.get();
  String offsetPath = getCommittedOffsetPartitionPath(topicPartition);
  LOG.info("creating missing parents for zookeeper path {}", offsetPath);
  createMissingParents(offsetPath);
  byte[] data = Long.toString(count).getBytes();
  try {
    LOG.info("setting zookeeper path {} value {}", offsetPath, count);
    // -1 matches any version
    zookeeper.setData(offsetPath, data, -1);
  } catch (KeeperException.NoNodeException exception) {
    zookeeper.create(offsetPath, data, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
  }
}

代码示例来源:origin: pinterest/secor

public void deleteCommittedOffsetTopicCount(String topic) throws Exception {
  ZooKeeper zookeeper = mZookeeperClient.get();
  List<Integer> partitions = getCommittedOffsetPartitions(topic);
  for (Integer partition : partitions) {
    TopicPartition topicPartition = new TopicPartition(topic, partition);
    String offsetPath = getCommittedOffsetPartitionPath(topicPartition);
    LOG.info("deleting path {}", offsetPath);
    zookeeper.delete(offsetPath, -1);
  }
}

代码示例来源:origin: com.twitter.common/zookeeper

/**
 * Returns the current list of group member ids by querying ZooKeeper synchronously.
 *
 * @return the ids of all the present members of this group
 * @throws ZooKeeperConnectionException if there was a problem connecting to ZooKeeper
 * @throws KeeperException if there was a problem reading this group's member ids
 * @throws InterruptedException if this thread is interrupted listing the group members
 */
public Iterable<String> getMemberIds()
  throws ZooKeeperConnectionException, KeeperException, InterruptedException {
 return Iterables.filter(zkClient.get().getChildren(path, false), nodeNameFilter);
}

代码示例来源:origin: com.twitter.common.zookeeper/group

/**
 * Returns the current list of group member ids by querying ZooKeeper synchronously.
 *
 * @return the ids of all the present members of this group
 * @throws ZooKeeperConnectionException if there was a problem connecting to ZooKeeper
 * @throws KeeperException if there was a problem reading this group's member ids
 * @throws InterruptedException if this thread is interrupted listing the group members
 */
public Iterable<String> getMemberIds()
  throws ZooKeeperConnectionException, KeeperException, InterruptedException {
 return Iterables.filter(zkClient.get().getChildren(path, false), nodeNameFilter);
}

代码示例来源:origin: com.twitter.common/zookeeper

private void watchGroup()
  throws ZooKeeperConnectionException, InterruptedException, KeeperException {
 List<String> children = zkClient.get().getChildren(path, groupWatcher);
 setMembers(Iterables.filter(children, nodeNameFilter));
}

代码示例来源:origin: com.twitter.common.zookeeper/group

private void watchGroup()
  throws ZooKeeperConnectionException, InterruptedException, KeeperException {
 if (stopped) {
  return;
 }
 List<String> children = zkClient.get().getChildren(path, groupWatcher);
 setMembers(Iterables.filter(children, nodeNameFilter));
}

代码示例来源:origin: com.twitter.common.zookeeper/group

/**
 * Gets the data for one of this groups members by querying ZooKeeper synchronously.
 *
 * @param memberId the id of the member whose data to retrieve
 * @return the data associated with the {@code memberId}
 * @throws ZooKeeperConnectionException if there was a problem connecting to ZooKeeper
 * @throws KeeperException if there was a problem reading this member's data
 * @throws InterruptedException if this thread is interrupted retrieving the member data
 */
public byte[] getMemberData(String memberId)
  throws ZooKeeperConnectionException, KeeperException, InterruptedException {
 return zkClient.get().getData(getMemberPath(memberId), false, null);
}

代码示例来源:origin: com.twitter.common/zookeeper

/**
 * Gets the data for one of this groups members by querying ZooKeeper synchronously.
 *
 * @param memberId the id of the member whose data to retrieve
 * @return the data associated with the {@code memberId}
 * @throws ZooKeeperConnectionException if there was a problem connecting to ZooKeeper
 * @throws KeeperException if there was a problem reading this member's data
 * @throws InterruptedException if this thread is interrupted retrieving the member data
 */
public byte[] getMemberData(String memberId)
  throws ZooKeeperConnectionException, KeeperException, InterruptedException {
 return zkClient.get().getData(getMemberPath(memberId), false, null);
}

代码示例来源:origin: com.twitter.common/zookeeper

private static void ensurePathInternal(ZooKeeperClient zkClient, List<ACL> acl, String path)
  throws ZooKeeperConnectionException, InterruptedException, KeeperException {
 if (zkClient.get().exists(path, false) == null) {
  // The current path does not exist; so back up a level and ensure the parent path exists
  // unless we're already a root-level path.
  int lastPathIndex = path.lastIndexOf('/');
  if (lastPathIndex > 0) {
   ensurePathInternal(zkClient, acl, path.substring(0, lastPathIndex));
  }
  // We've ensured our parent path (if any) exists so we can proceed to create our path.
  try {
   zkClient.get().create(path, null, acl, CreateMode.PERSISTENT);
  } catch (KeeperException.NodeExistsException e) {
   // This ensures we don't die if a race condition was met between checking existence and
   // trying to create the node.
   LOG.info("Node existed when trying to ensure path " + path + ", somebody beat us to it?");
  }
 }
}

代码示例来源:origin: com.twitter.common.zookeeper/lock

private void cleanup() {
 LOG.info("Cleaning up!");
 Preconditions.checkNotNull(currentId);
 try {
  Stat stat = zkClient.get().exists(currentNode, false);
  if (stat != null) {
   zkClient.get().delete(currentNode, ZooKeeperUtils.ANY_VERSION);
  } else {
   LOG.log(Level.WARNING, "Called cleanup but nothing to cleanup!");
  }
 } catch (Exception e) {
  throw new RuntimeException(e);
 }
 holdsLock = false;
 aborted.set(false);
 currentId = null;
 currentNode = null;
 watcher = null;
 syncPoint = new CountDownLatch(1);
}

代码示例来源:origin: com.twitter.common.zookeeper/lock

private synchronized void prepare()
 throws ZooKeeperClient.ZooKeeperConnectionException, InterruptedException, KeeperException {
 ZooKeeperUtils.ensurePath(zkClient, acl, lockPath);
 LOG.log(Level.FINE, "Working with locking path:" + lockPath);
 // Create an EPHEMERAL_SEQUENTIAL node.
 currentNode =
   zkClient.get().create(lockPath + "/member_", null, acl, CreateMode.EPHEMERAL_SEQUENTIAL);
 // We only care about our actual id since we want to compare ourselves to siblings.
 if (currentNode.contains("/")) {
  currentId = currentNode.substring(currentNode.lastIndexOf("/") + 1);
 }
 LOG.log(Level.FINE, "Received ID from zk:" + currentId);
 this.watcher = new LockWatcher();
}

代码示例来源:origin: com.twitter.common/zookeeper

private synchronized void prepare()
 throws ZooKeeperClient.ZooKeeperConnectionException, InterruptedException, KeeperException {
 ZooKeeperUtils.ensurePath(zkClient, acl, lockPath);
 LOG.log(Level.FINE, "Working with locking path:" + lockPath);
 // Create an EPHEMERAL_SEQUENTIAL node.
 currentNode =
   zkClient.get().create(lockPath + "/member_", null, acl, CreateMode.EPHEMERAL_SEQUENTIAL);
 // We only care about our actual id since we want to compare ourselves to siblings.
 if (currentNode.contains("/")) {
  currentId = currentNode.substring(currentNode.lastIndexOf("/") + 1);
 }
 LOG.log(Level.FINE, "Received ID from zk:" + currentId);
 this.watcher = new LockWatcher();
}

代码示例来源:origin: com.twitter.common/zookeeper-testing

/**
 * Expires the active session for the given client.  The client should be one returned from
 * {@link #createClient}.
 *
 * @param zkClient the client to expire
 * @throws ZooKeeperClient.ZooKeeperConnectionException if a problem is encountered connecting to
 *    the local zk server while trying to expire the session
 * @throws InterruptedException if interrupted while requesting expiration
 */
public final void expireClientSession(ZooKeeperClient zkClient)
  throws ZooKeeperClient.ZooKeeperConnectionException, InterruptedException {
 zooKeeperServer.closeSession(zkClient.get().getSessionId());
}

代码示例来源:origin: com.twitter.common.zookeeper/group

@Override
public synchronized byte[] updateMemberData() throws UpdateException {
 byte[] membershipData = memberData.get();
 if (!ArrayUtils.isEquals(this.membershipData, membershipData)) {
  try {
   zkClient.get().setData(nodePath, membershipData, ZooKeeperUtils.ANY_VERSION);
   this.membershipData = membershipData;
  } catch (KeeperException e) {
   throw new UpdateException("Problem updating membership data.", e);
  } catch (InterruptedException e) {
   throw new UpdateException("Interrupted attempting to update membership data.", e);
  } catch (ZooKeeperConnectionException e) {
   throw new UpdateException(
     "Could not connect to the ZooKeeper cluster to update membership data.", e);
  }
 }
 return membershipData;
}

代码示例来源:origin: com.twitter.common/zookeeper

@Override
public synchronized byte[] updateMemberData() throws UpdateException {
 byte[] membershipData = memberData.get();
 if (!ArrayUtils.isEquals(this.membershipData, membershipData)) {
  try {
   zkClient.get().setData(nodePath, membershipData, ZooKeeperUtils.ANY_VERSION);
   this.membershipData = membershipData;
  } catch (KeeperException e) {
   throw new UpdateException("Problem updating membership data.", e);
  } catch (InterruptedException e) {
   throw new UpdateException("Interrupted attempting to update membership data.", e);
  } catch (ZooKeeperConnectionException e) {
   throw new UpdateException(
     "Could not connect to the ZooKeeper cluster to update membership data.", e);
  }
 }
 return membershipData;
}

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com