Example usage for org.apache.zookeeper Watcher Watcher

List of usage examples for org.apache.zookeeper Watcher Watcher

Introduction

In this page you can find the example usage for org.apache.zookeeper Watcher Watcher.

Prototype

Watcher

Source Link

Usage

From source file:com.digitgroup.fullstackroad.j2ee.zookeeper.recovery.OrphanStatuses.java

License:Apache License

public static void main(String args[]) throws Exception {
    ZooKeeper zk = new ZooKeeper("localhost:" + args[0], 10000, new Watcher() {
        public void process(WatchedEvent event) {
            LOG.info("Received event: " + event.getType());
        }/*from w ww .j av  a2 s. c o  m*/
    });

    (new OrphanStatuses(zk)).cleanUp();
}

From source file:com.dingwang.rpc.register.ServiceDiscovery.java

License:Open Source License

private ZooKeeper connectServer() {
    ZooKeeper zk = null;//from   ww w.  j  a v  a 2  s.  c  om
    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.dingwang.rpc.register.ServiceDiscovery.java

License:Open Source License

private void watchNode(final ZooKeeper zk) {
    try {//w ww. j av a2 s .c om
        List<String> nodeList = zk.getChildren(Constant.ZK_REGISTRY_PATH, new Watcher() {
            @Override
            public void process(WatchedEvent event) {
                if (event.getType() == Event.EventType.NodeChildrenChanged) {
                    watchNode(zk);
                }
            }
        });
        List<String> dataList = new ArrayList<>();
        for (String node : nodeList) {
            byte[] bytes = zk.getData(Constant.ZK_REGISTRY_PATH + "/" + node, false, null);
            dataList.add(new String(bytes));
        }
        LOGGER.debug("node data: {}", dataList);
        this.dataList = dataList;
    } catch (KeeperException | InterruptedException e) {
        LOGGER.error("", e);
    }
}

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 {/*from w w w.  ja v  a2 s.  c  o 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/*www. j a  v  a  2s  .  co  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.dinstone.zkclient.lock.ZkDistributedLock.java

License:Apache License

private void watch(Proposal prevOffer) throws KeeperException, InterruptedException {
    Stat stat = getZooKeeper().exists(prevOffer.getPath(), new Watcher() {

        public void process(WatchedEvent event) {
            if (event.getType().equals(Watcher.Event.EventType.NodeDeleted)) {
                if (!event.getPath().equals(ZkDistributedLock.this.proposal.getPath())) {
                    eventQueue.add(EventType.Retry);
                }/*from   w ww .j a v a2  s .  c  om*/
            }
        }

    });

    if (stat == null) {
        doLock();
    }
}

From source file:com.discovery.darchrow.ZookeeperClientTest.java

License:Open Source License

public static void main(String[] args) throws Exception {
    // ?// w w  w .j a v a 2s  .  c  om
    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.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 ava 2  s  .c om*/
        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.edmunds.zookeeper.election.ZooKeeperElectionContext.java

License:Apache License

/**
 * Creates a watcher that encapsulates this context.
 *
 * @param zooKeeperElectionContextWatcher
 *         the callback.//from w ww.  ja va2 s .  c  o  m
 * @return the new watcher.
 */
public Watcher createWatcher(final ZooKeeperElectionContextWatcher zooKeeperElectionContextWatcher) {
    return new Watcher() {
        @Override
        public void process(WatchedEvent event) {
            zooKeeperElectionContextWatcher.process(ZooKeeperElectionContext.this, event);
        }
    };
}

From source file:com.example.directorio.ZooKeeperConnection.java

public void connect(String host) throws IOException, InterruptedException {

    zoo = new ZooKeeper(host, 5000, new Watcher() {
        public void process(WatchedEvent we) {

            if (null != we.getState())
                switch (we.getState()) {
                case SyncConnected:
                    connectedSignal.countDown();
                    break;
                case ConnectedReadOnly:
                    System.out.println("Estado solo lectura");
                    break;
                case AuthFailed:
                    System.out.println("Estado Autorizacin fallida");
                    break;
                case Disconnected:
                    System.out.println("Estado Desconectado");
                    break;
                case Expired:
                    System.out.println("Estado expir la sesin");
                    break;
                default:
                    break;
                }/*from   w  w w  . j a  v  a 2  s  . com*/

        }
    });

    connectedSignal.await();
}