List of usage examples for org.apache.zookeeper WatchedEvent getState
public KeeperState getState()
From source file:com.digitgroup.fullstackroad.j2ee.zookeeper.Master.java
License:Apache License
/** * This method implements the process method of the * Watcher interface. We use it to deal with the * different states of a session. //w w w . j a va 2 s . c o m * * @param e new session event to be processed */ public void process(WatchedEvent e) { LOG.info("Processing event: " + e.toString()); if (e.getType() == EventType.None) { switch (e.getState()) { case SyncConnected: connected = true; break; case Disconnected: connected = false; break; case Expired: expired = true; connected = false; LOG.error("Session expiration"); default: break; } } }
From source file:com.digitgroup.fullstackroad.j2ee.zookeeper.Worker.java
License:Apache License
/** * Deals with session events like connecting * and disconnecting./*from w w w . j av a 2 s .c o m*/ * * @param e new event generated */ public void process(WatchedEvent e) { LOG.info(e.toString() + ", " + hostPort); if (e.getType() == EventType.None) { switch (e.getState()) { case SyncConnected: /* * Registered with ZooKeeper */ connected = true; break; case Disconnected: connected = false; break; case Expired: expired = true; connected = false; LOG.error("Session expired"); default: break; } } }
From source file:com.dingwang.rpc.register.ServiceDiscovery.java
License:Open Source License
private ZooKeeper connectServer() { ZooKeeper zk = null;//w w w . j a v a 2 s . c o m try { zk = new ZooKeeper(registryAddress, Constant.ZK_SESSION_TIMEOUT, new Watcher() { @Override public void process(WatchedEvent event) { if (event.getState() == Event.KeeperState.SyncConnected) { latch.countDown(); } } }); latch.await(); } catch (IOException | InterruptedException e) { LOGGER.error("", e); } return zk; }
From source file:com.dinstone.zkclient.core.ZkConnection.java
License:Apache License
public synchronized ZooKeeper getZooKeeper() throws InterruptedException { if (this.zooKeeper == null || !zooKeeper.getState().isAlive()) { final CountDownLatch connectSingal = new CountDownLatch(1); try {//w w w .j av a 2 s . co m this.zooKeeper = new ZooKeeper(zkServers, timeout, new Watcher() { public void process(WatchedEvent event) { LOG.debug("Received zookeeper event, {}", event.toString()); if (event.getPath() == null) { if (KeeperState.SyncConnected == event.getState()) { connectSingal.countDown(); fireStateChangedEvent(event.getState()); } else if (KeeperState.Disconnected == event.getState()) { fireStateChangedEvent(event.getState()); } else if (KeeperState.Expired == event.getState()) { LOG.debug("Session is expired, need to clear process"); fireStateChangedEvent(event.getState()); } } } }); } catch (IOException e) { throw new ZkException("connect zookeeper error", e); } connectSingal.await(); } return this.zooKeeper; }
From source file:com.dinstone.zkclient.leader.ZookeeperTest.java
License:Apache License
/** * @return/*from www. j a v a 2 s . c o m*/ */ private static ZooKeeper getZookeeper() { ZooKeeper zooKeeper = null; final CountDownLatch connectSingal = new CountDownLatch(1); try { String quorumServers = "172.21.31.32:2181"; zooKeeper = new ZooKeeper(quorumServers, 1000, new Watcher() { public void process(WatchedEvent event) { System.out.println("Received zookeeper event, type={" + event.getType() + "}, state={" + event.getState() + "}, ={" + event.getPath() + "}"); if (KeeperState.SyncConnected == event.getState()) { connectSingal.countDown(); } else if (KeeperState.Expired == event.getState()) { System.err.println("Session is expired, need to redo the action"); } } }); } catch (IOException e) { e.printStackTrace(); } try { connectSingal.await(); } catch (InterruptedException e) { e.printStackTrace(); } return zooKeeper; }
From source file:com.discovery.darchrow.ZookeeperClientTest.java
License:Open Source License
public static void main(String[] args) throws Exception { // ?/*from w ww. ja va2s.c o m*/ ZooKeeper zk = new ZooKeeper("localhost:2181", 30000, new Watcher() { // ? public void process(WatchedEvent event) { System.out.println("?:" + event.getState() + ":" + event.getType() + ":" + event.getWrapper() + ":" + event.getPath()); } }); // ktv??????? zk.create(ROOT, "root-ktv".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); // ??KTV , PERSISTENT_SEQUENTIAL 0000000000 ? zk.create(ROOT + "/?KTV", "?KTV".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL); // ?, EPHEMERAL session zk.create(ROOT + "/KTV", "KTV".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL); // ???EPHEMERAL_SEQUENTIAL session ? zk.create(ROOT + "/KTV-", "KTV-".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL); // ? ? ktv List<String> ktvs = zk.getChildren(ROOT, true); System.out.println(Arrays.toString(ktvs.toArray())); for (String node : ktvs) { // zk.delete(ROOT + "/" + node, -1); } // ? zk.delete(ROOT, -1); zk.close(); }
From source file:com.doctor.zookeeper.api.Practice.java
License:Apache License
@Override public void process(WatchedEvent event) { System.out.println("receive WatchedEvent " + event); if (KeeperState.SyncConnected == event.getState()) { countDownLatch.countDown();/*ww w .ja va2 s . co m*/ } }
From source file:com.dw.zk.ZkSessionPoller.java
License:Apache License
public static void main(String... args) throws Exception { org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger(); rootLogger.setLevel(Level.INFO); rootLogger.addAppender(new ConsoleAppender(new SimpleLayout())); final ZooKeeper zk = new ZooKeeper("172.16.84.129:2181", 2000, new Watcher() { @Override/*from w w w. j av a 2 s.c o m*/ public void process(WatchedEvent event) { System.out.printf("state=%s\ttype=%s%n", event.getState(), event.getType()); } }); final CountDownLatch latch = new CountDownLatch(1); ZkSessionPoller poller = new ZkSessionPoller(zk, 200, new ConnectionListenerSkeleton() { @Override public void expired() { System.err.println("Session Expired, shutting down."); try { zk.close(); } catch (InterruptedException e) { throw new RuntimeException(e); } latch.countDown(); } }); poller.startPolling(); latch.await(); poller.stopPolling(); }
From source file:com.ebay.jetstream.messaging.transport.zookeeper.ZooKeeperTransport.java
License:MIT License
/** * Call back receiver method to process notifications on node changes. *//*from www . ja v a2s. c om*/ public void process(WatchedEvent event) { LOGGER.info("Event State :: " + event.getState().name() + " Event Type:: " + event.getType() + " Event path :: " + event.getPath()); if (m_shutdown.get()) { LOGGER.warn("Transport is in Shutdown State."); return; } switch (event.getType()) { case NodeChildrenChanged: if (m_group != null) { boolean isDiscoveryTopic = false; for (String nettydiscoverable : m_NettyDiscoverableTopics) { if (event.getPath().contains(nettydiscoverable)) { isDiscoveryTopic = true; for (String nettyconextnode : m_nettyContexts) { if (event.getPath().contains(nettyconextnode)) { m_group.registerChildrenCallback(event.getPath()); m_group.getChildrenAndSetWatch(event.getPath()); break; } } } } if (!isDiscoveryTopic) { m_group.registerChildrenCallback(event.getPath()); m_group.getChildrenAndSetWatch(event.getPath()); } } break; case NodeCreated: if (m_group != null) { m_group.registerDataCallBack(event.getPath()); } break; case NodeDataChanged: if (m_group != null) { m_group.registerDataCallBack(event.getPath()); } break; case NodeDeleted: if (m_group != null) { int parentIndex = event.getPath().lastIndexOf('/'); String parentNode = event.getPath().substring(0, parentIndex); m_group.getChildrenAndSetWatch(parentNode); } break; case None: break; default: break; } }
From source file:com.edmunds.zookeeper.election.ZooKeeperElection.java
License:Apache License
private void processCurrentWatcher(ZooKeeperElectionContext ctx, WatchedEvent event) { final KeeperState connectionState = event.getState(); if (connectionState == KeeperState.SyncConnected) { // Has someone blown our node away ? if (event.getType() == EventType.NodeDeleted) { // Withdraw from this election and sign up again. if (ctx.isActive()) { withdrawAndEnroll(ctx, "Current Node Deleted"); }/*w ww.j av a 2s. com*/ } } else { error("Connection lost - Primary watch: " + connectionState, Code.CONNECTIONLOSS, "/", ctx); withdrawInternal(ctx, "Current Node Connection Lost"); } }