Example usage for org.apache.zookeeper WatchedEvent getState

List of usage examples for org.apache.zookeeper WatchedEvent getState

Introduction

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

Prototype

public KeeperState getState() 

Source Link

Usage

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");
    }
}