org.apache.helix.manager.zk.ZkClient.getConnection()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(87)

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

ZkClient.getConnection介绍

暂无

代码示例

代码示例来源:origin: apache/helix

@Override
public IZkConnection getConnection() {
 if (isClosed()) {
  return IDLE_CONNECTION;
 }
 return super.getConnection();
}

代码示例来源:origin: org.apache.helix/helix-core

public static ZkClient getZkClient(String zkServer) {
 // happy path that we cache the zkclient and it's still connected
 if (_zkClientMap.containsKey(zkServer)) {
  ZkClient zkClient = _zkClientMap.get(zkServer);
  if (zkClient.getConnection().getZookeeperState() == States.CONNECTED) {
   return zkClient;
  }
 }
 synchronized (_zkClientMap) {
  // if we cache a stale zkclient, purge it
  if (_zkClientMap.containsKey(zkServer)) {
   ZkClient zkClient = _zkClientMap.get(zkServer);
   if (zkClient.getConnection().getZookeeperState() != States.CONNECTED) {
    _zkClientMap.remove(zkServer);
   }
  }
  // get a new zkclient
  if (!_zkClientMap.containsKey(zkServer)) {
   ZkClient zkClient =
     new ZkClient(zkServer, DEFAULT_SESSION_TIMEOUT, ZkClient.DEFAULT_CONNECTION_TIMEOUT,
       new ZNRecordSerializer());
   _zkClientMap.put(zkServer, zkClient);
  }
  return _zkClientMap.get(zkServer);
 }
}

代码示例来源:origin: apache/helix

public static ZkClient getZkClient(String zkServer) {
 // happy path that we cache the zkclient and it's still connected
 if (_zkClientMap.containsKey(zkServer)) {
  ZkClient zkClient = _zkClientMap.get(zkServer);
  if (zkClient.getConnection().getZookeeperState() == States.CONNECTED) {
   return zkClient;
  }
 }
 synchronized (_zkClientMap) {
  // if we cache a stale zkclient, purge it
  if (_zkClientMap.containsKey(zkServer)) {
   ZkClient zkClient = _zkClientMap.get(zkServer);
   if (zkClient.getConnection().getZookeeperState() != States.CONNECTED) {
    _zkClientMap.remove(zkServer);
   }
  }
  // get a new zkclient
  if (!_zkClientMap.containsKey(zkServer)) {
   ZkClient zkClient =
     new ZkClient(zkServer, DEFAULT_SESSION_TIMEOUT, ZkClient.DEFAULT_CONNECTION_TIMEOUT,
       new ZNRecordSerializer());
   _zkClientMap.put(zkServer, zkClient);
  }
  return _zkClientMap.get(zkServer);
 }
}

代码示例来源:origin: org.apache.helix/helix-core

/**
 * wait until we get a non-zero session-id. note that we might lose zkconnection
 * right after we read session-id. but it's ok to get stale session-id and we will have
 * another handle-new-session callback to correct this.
 */
void waitUntilConnected() {
 boolean isConnected;
 do {
  isConnected =
    _zkclient.waitUntilConnected(ZkClient.DEFAULT_CONNECTION_TIMEOUT, TimeUnit.MILLISECONDS);
  if (!isConnected) {
   LOG.error("fail to connect zkserver: " + _zkAddress + " in "
     + ZkClient.DEFAULT_CONNECTION_TIMEOUT + "ms. expiredSessionId: " + _sessionId
     + ", clusterName: " + _clusterName);
   continue;
  }
  ZkConnection zkConnection = ((ZkConnection) _zkclient.getConnection());
  _sessionId = Long.toHexString(zkConnection.getZookeeper().getSessionId());
  /**
   * at the time we read session-id, zkconnection might be lost again
   * wait until we get a non-zero session-id
   */
 } while (!isConnected || "0".equals(_sessionId));
 LOG.info("Handling new session, session id: " + _sessionId + ", instance: " + _instanceName
   + ", instanceTye: " + _instanceType + ", cluster: " + _clusterName + ", zkconnection: "
   + ((ZkConnection) _zkclient.getConnection()).getZookeeper());
}

代码示例来源:origin: org.apache.helix/helix-core

if (_zkClient != null && _zkClient.getConnection() != null)

代码示例来源:origin: org.apache.helix/helix-core

switch (state) {
case SyncConnected:
 ZkConnection zkConnection = (ZkConnection) _zkclient.getConnection();
 LOG.info("KeeperState: " + state + ", instance: " + _instanceName + ", type: " + _instanceType
   + ", zookeeper:" + zkConnection.getZookeeper());

代码示例来源:origin: apache/helix

@Override
public void handleNewSession() throws Exception {
 // make sure zkclient is connected again
 zkClient.waitUntilConnected(HelixZkClient.DEFAULT_CONNECTION_TIMEOUT, TimeUnit.SECONDS);
 ZkConnection connection = ((ZkConnection) zkClient.getConnection());
 ZooKeeper curZookeeper = connection.getZookeeper();
 LOG.info("handleNewSession. sessionId: " + Long.toHexString(curZookeeper.getSessionId()));
 waitNewSession.countDown();
}

代码示例来源:origin: apache/helix

/**
 * Get zk connection session id
 * @param client
 * @return
 */
public static String getSessionId(HelixZkClient client) {
 ZkConnection connection = (ZkConnection) ((ZkClient) client).getConnection();
 ZooKeeper curZookeeper = connection.getZookeeper();
 return Long.toHexString(curZookeeper.getSessionId());
}

代码示例来源:origin: apache/helix

@Override
public void handleNewSession() throws Exception {
 // make sure zkclient is connected again
 zkClient.waitUntilConnected(HelixZkClient.DEFAULT_CONNECTION_TIMEOUT, TimeUnit.SECONDS);
 ZkConnection connection = ((ZkConnection) zkClient.getConnection());
 ZooKeeper curZookeeper = connection.getZookeeper();
 LOG.info("handleNewSession. sessionId: " + Long.toHexString(curZookeeper.getSessionId()));
}

代码示例来源:origin: apache/helix

public static Map<String, List<String>> getZkWatch(HelixZkClient client) throws Exception {
 Map<String, List<String>> lists = new HashMap<String, List<String>>();
 ZkClient zkClient = (ZkClient) client;
 ZkConnection connection = ((ZkConnection) zkClient.getConnection());
 ZooKeeper zk = connection.getZookeeper();
 java.lang.reflect.Field field = getField(zk.getClass(), "watchManager");
 field.setAccessible(true);
 Object watchManager = field.get(zk);
 java.lang.reflect.Field field2 = getField(watchManager.getClass(), "dataWatches");
 field2.setAccessible(true);
 HashMap<String, Set<Watcher>> dataWatches =
   (HashMap<String, Set<Watcher>>) field2.get(watchManager);
 field2 = getField(watchManager.getClass(), "existWatches");
 field2.setAccessible(true);
 HashMap<String, Set<Watcher>> existWatches =
   (HashMap<String, Set<Watcher>>) field2.get(watchManager);
 field2 = getField(watchManager.getClass(), "childWatches");
 field2.setAccessible(true);
 HashMap<String, Set<Watcher>> childWatches =
   (HashMap<String, Set<Watcher>>) field2.get(watchManager);
 lists.put("dataWatches", new ArrayList<>(dataWatches.keySet()));
 lists.put("existWatches", new ArrayList<>(existWatches.keySet()));
 lists.put("childWatches", new ArrayList<>(childWatches.keySet()));
 return lists;
}

代码示例来源:origin: apache/helix

/**
 * expire zk session asynchronously
 * @param client
 * @throws Exception
 */
public static void asyncExpireSession(HelixZkClient client) throws Exception {
 final ZkClient zkClient = (ZkClient) client;
 ZkConnection connection = ((ZkConnection) zkClient.getConnection());
 ZooKeeper curZookeeper = connection.getZookeeper();
 LOG.info("Before expiry. sessionId: " + Long.toHexString(curZookeeper.getSessionId()));
 Watcher watcher = new Watcher() {
  @Override
  public void process(WatchedEvent event) {
   LOG.info("Process watchEvent: " + event);
  }
 };
 final ZooKeeper dupZookeeper =
   new ZooKeeper(connection.getServers(), curZookeeper.getSessionTimeout(), watcher,
     curZookeeper.getSessionId(), curZookeeper.getSessionPasswd());
 // wait until connected, then close
 while (dupZookeeper.getState() != States.CONNECTED) {
  Thread.sleep(10);
 }
 dupZookeeper.close();
 connection = (ZkConnection) zkClient.getConnection();
 curZookeeper = connection.getZookeeper();
 // System.err.println("zk: " + oldZookeeper);
 LOG.info("After expiry. sessionId: " + Long.toHexString(curZookeeper.getSessionId()));
}

代码示例来源:origin: apache/helix

ZkConnection connection = ((ZkConnection) _zkClient.getConnection());
ZooKeeper zookeeper = connection.getZookeeper();
System.out.println("old sessionId= " + zookeeper.getSessionId());
newZookeeper.close();
Thread.sleep(10000);
connection = ((ZkConnection) _zkClient.getConnection());
zookeeper = connection.getZookeeper();
System.out.println("After session expiry sessionId= " + zookeeper.getSessionId());

代码示例来源:origin: apache/helix

ZkConnection connection = ((ZkConnection) zkClient.getConnection());
ZooKeeper oldZookeeper = connection.getZookeeper();
LOG.info("Old sessionId = " + oldZookeeper.getSessionId());
connection = (ZkConnection) zkClient.getConnection();
oldZookeeper = connection.getZookeeper();
LOG.info("After session expiry sessionId = " + oldZookeeper.getSessionId());

代码示例来源:origin: org.apache.helix/helix-core

+ idealState);
} finally {
 if (zkClient != null && zkClient.getConnection() != null)

代码示例来源:origin: apache/helix

ZkConnection connection = ((ZkConnection) zkClient.getConnection());
ZooKeeper curZookeeper = connection.getZookeeper();
String oldSessionId = Long.toHexString(curZookeeper.getSessionId());
zkClient.unsubscribeStateChanges(listener);
connection = (ZkConnection) zkClient.getConnection();
curZookeeper = connection.getZookeeper();

代码示例来源:origin: apache/helix

ZkConnection connection = ((ZkConnection) zkClient.getConnection());
ZooKeeper curZookeeper = connection.getZookeeper();
LOG.info("Before expiry. sessionId: " + Long.toHexString(curZookeeper.getSessionId()));
connection = (ZkConnection) zkClient.getConnection();
curZookeeper = connection.getZookeeper();
zkClient.unsubscribeStateChanges(listener);

相关文章