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.gxl.zk.ZKConnectionManager.java

License:Apache License

/**
 * zookeeper/*from w  w  w  .j  a  v  a  2 s .  c  om*/
 * 
 * @author gaoxianglong
 * 
 * @throws ConnectionException
 * 
 * @return void
 */
private void connection() {
    countDownLatch = new CountDownLatch(1);
    try {
        zk_client = new ZooKeeper(address, zk_session_timeout, new Watcher() {
            @Override
            public void process(WatchedEvent event) {
                final KeeperState STATE = event.getState();
                switch (STATE) {
                case SyncConnected:
                    countDownLatch.countDown();
                    logger.info("connection zookeeper success");
                    break;
                case Disconnected:
                    logger.warn("zookeeper connection is disconnected");
                    break;
                case Expired:
                    logger.error("zookeeper session expired");
                    break;
                case AuthFailed:
                    logger.error("authentication failure");
                default:
                    break;
                }
            }
        });
        countDownLatch.await();
        String samplingRate = null;
        /* ?? */
        if (null == zk_client.exists("/tracing", false)) {
            zk_client.create("/tracing", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
        }
        /* ?znode? */
        if (null != zk_client.exists(samplingRate_path, false)) {
            samplingRate = new String(zk_client.getData(samplingRate_path,
                    new SamplingRateWatcher(zk_client, samplingRate_path), null));
        } else {
            logger.warn("-->" + samplingRate_path + "?,");
            /* ?1/1024 */
            zk_client.create(samplingRate_path, "1024".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
            samplingRate = new String(zk_client.getData(samplingRate_path,
                    new SamplingRateWatcher(zk_client, samplingRate_path), null));
        }
        /*  */
        TraceFilter.samplingNum = Integer.parseInt(samplingRate);
    } catch (Exception e) {
        logger.error("error", e);
    }
}

From source file:com.heliosapm.streams.admin.zookeep.ZooKeepPublisher.java

License:Apache License

/**
 * {@inheritDoc}/*from   w w w. j a  v  a 2 s.c  o m*/
 * @see org.apache.zookeeper.Watcher#process(org.apache.zookeeper.WatchedEvent)
 */
@Override
public void process(final WatchedEvent event) {
    switch (event.getState()) {
    case Disconnected:
        // FIXME:  when this happens (and we're not shutting down), start the connection poll
        loff();
        connected.set(false);
        log.warn("ZooKeep Session Disconnected. Waiting for reconnect....");
        sessionId = null;
        sendNotification(new Notification(NOTIF_DISCONNECTED, OBJECT_NAME, notifSerial.incrementAndGet(),
                System.currentTimeMillis(),
                "ZooKeeperPublisher disconnected from ZooKeeper [" + connect + "]"));
        break;
    case Expired:
        connected.set(false);
        log.info("ZooKeep Session Expired");
        sessionId = null;
        sendNotification(new Notification(NOTIF_EXPIRED, OBJECT_NAME, notifSerial.incrementAndGet(),
                System.currentTimeMillis(),
                "ZooKeeperPublisher connection expored from ZooKeeper [" + connect + "]"));
        break;
    case SyncConnected:
        lon();
        connected.set(true);
        sessionId = zk.getSessionId();
        log.info("ZooKeep Connected. SessionID: [{}]", sessionId);
        sendNotification(new Notification(NOTIF_EXPIRED, OBJECT_NAME, notifSerial.incrementAndGet(),
                System.currentTimeMillis(), "ZooKeeperPublisher connected to ZooKeeper [" + connect + "]"));
        break;
    default:
        log.info("ZooKeep Event: [{}]", event);
        break;
    }
}

From source file:com.heliosapm.streams.common.zoo.AdminFinder.java

License:Apache License

/**
 * {@inheritDoc}//from  w ww  .ja va2 s. co m
 * @see org.apache.zookeeper.Watcher#process(org.apache.zookeeper.WatchedEvent)
 */
@Override
public void process(final WatchedEvent event) {
    switch (event.getState()) {
    case Disconnected:
        log.info("ZooKeep Session Disconnected");
        sessionId = null;
        break;
    case Expired:
        log.info("ZooKeep Session Expired");
        sessionId = null;
        break;
    case SyncConnected:
        sessionId = getSessionId();
        log.info("ZooKeep Connected. SessionID: [{}]", sessionId);
        break;
    default:
        log.info("ZooKeep Event: [{}]", event);
        break;
    }
}

From source file:com.heliosapm.streams.kafka.KafkaAdminClient.java

License:Apache License

/**
 * {@inheritDoc}/*from  w w w . j a v  a 2 s . com*/
 * @see org.apache.zookeeper.Watcher#process(org.apache.zookeeper.WatchedEvent)
 */
@Override
public void process(final WatchedEvent event) {
    if (event == null)
        return;
    final Watcher.Event.KeeperState newState = event.getState();
    if (newState == null)
        return;
    final Watcher.Event.KeeperState priorState = state.getAndSet(event.getState());
    if (priorState == null || newState != priorState) {
        switch (event.getState()) {
        case AuthFailed:
            connected.set(false);
            log.warn("[{}] : Authentication Failed", zkConnect);
            doClose();
            break;
        case ConnectedReadOnly:
            connected.set(true);
            log.info("[{}] : Connected ReadOnly", zkConnect);
            break;
        case Disconnected:
            connected.set(false);
            log.warn("[{}] : Disconnected", zkConnect);
            doClose();
        case Expired:
            connected.set(false);
            log.warn("[{}] : Expired", zkConnect);
            doClose();
            break;
        case SaslAuthenticated:
            connected.set(true);
            log.info("[{}] : SaslAuthenticated", zkConnect);
            break;
        case SyncConnected:
            connected.set(true);
            log.info("[{}] : Connected", zkConnect);
            break;
        default:
            break;

        }

    }
}

From source file:com.jiuxian.theone.zk.ConnectionListener.java

License:Apache License

@Override
public void eventReceived(CuratorFramework client, CuratorEvent event) throws Exception {
    LOGGER.info(event.toString());//from   w w  w.  j  av a  2s  .  co m
    final WatchedEvent watchedEvent = event.getWatchedEvent();
    if (watchedEvent != null && watchedEvent.getState() == KeeperState.Disconnected) {
        try {
            resource.close();
        } finally {
            System.exit(0);
        }
    }
}

From source file:com.jkoolcloud.tnt4j.streams.configure.zookeeper.ZKConnection.java

License:Apache License

/**
 * Connects to ZooKeeper ensemble. Waits until connection establishment is confirmed over watcher.
 *
 * @param connStr//w  w  w.java 2s. c  o m
 *            ZooKeeper ensemble connection definition string
 * @param timeout
 *            connection timeout
 * @return zookeeper instance
 * 
 * @throws IOException
 *             if I/O exception occurs while initializing ZooKeeper connection
 * @throws InterruptedException
 *             if the current thread is interrupted while waiting
 */
public ZooKeeper connect(String connStr, int timeout) throws IOException, InterruptedException {
    final CountDownLatch connectedSignal = new CountDownLatch(1);
    zk = new ZooKeeper(connStr, timeout, new Watcher() {
        @Override
        public void process(WatchedEvent we) {
            if (we.getState() == Event.KeeperState.SyncConnected) {
                connectedSignal.countDown();
            }
        }
    });

    connectedSignal.await();
    return zk;
}

From source file:com.jxt.web.cluster.zookeeper.ZookeeperClusterDataManager.java

License:Apache License

@SuppressWarnings("deprecation")
@Override//from w  w w  .  jav  a2s.  co  m
public void process(WatchedEvent event) {
    logger.info("Handle Zookeeper Event({}) started.", event);

    KeeperState state = event.getState();
    EventType eventType = event.getType();
    String path = event.getPath();

    // when this happens, ephemeral node disappears
    // reconnects automatically, and process gets notified for all events
    boolean result = false;
    if (ZookeeperUtils.isDisconnectedEvent(event)) {
        result = handleDisconnected();
        if (state == KeeperState.Expired) {
            client.reconnectWhenSessionExpired();
        }
    } else if (state == KeeperState.SyncConnected || state == KeeperState.NoSyncConnected) {
        if (eventType == EventType.None) {
            result = handleConnected();
        } else if (eventType == EventType.NodeChildrenChanged) {
            result = handleNodeChildrenChanged(path);
        } else if (eventType == EventType.NodeDeleted) {
            result = handleNodeDeleted(path);
        } else if (eventType == EventType.NodeDataChanged) {
            result = handleNodeDataChanged(path);
        }
    }

    if (result) {
        logger.info("Handle Zookeeper Event({}) completed.", event);
    } else {
        logger.info("Handle Zookeeper Event({}) failed.", event);
    }
}

From source file:com.jxt.web.cluster.zookeeper.ZookeeperUtils.java

License:Apache License

public static boolean isConnectedEvent(WatchedEvent event) {
    KeeperState state = event.getState();
    EventType eventType = event.getType();

    return isConnectedEvent(state, eventType);
}

From source file:com.jxt.web.cluster.zookeeper.ZookeeperUtils.java

License:Apache License

public static boolean isDisconnectedEvent(WatchedEvent event) {
    KeeperState state = event.getState();
    EventType eventType = event.getType();

    return isDisconnectedEvent(state, eventType);
}

From source file:com.liveramp.hank.test.ZkTestCase.java

License:Apache License

@Before
public final void setUpZk() throws Exception {

    setupZkServer();//from  ww  w.  j a  va2 s. c  om

    final Object lock = new Object();
    final AtomicBoolean connected = new AtomicBoolean(false);

    zk = new ZooKeeperPlus("127.0.0.1:" + zkClientPort, 1000000, new Watcher() {
        @Override
        public void process(WatchedEvent event) {
            switch (event.getType()) {
            case None:
                if (event.getState() == KeeperState.SyncConnected) {
                    connected.set(true);
                    synchronized (lock) {
                        lock.notifyAll();
                    }
                }
            }
            LOG.debug(event.toString());
        }
    });

    synchronized (lock) {
        lock.wait(2000);
    }
    if (!connected.get()) {
        fail("timed out waiting for the zk client connection to come online!");
    }
    LOG.debug("session timeout: " + zk.getSessionTimeout());

    zk.deleteNodeRecursively(zkRoot);
    WaitUntil.orDie(() -> {
        try {
            return zk.exists(zkRoot, false) == null;
        } catch (KeeperException | InterruptedException e) {
            throw new RuntimeException(e);
        }
    });
    createNodeRecursively(zkRoot);
}