Example usage for org.apache.zookeeper WatchedEvent getType

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

Introduction

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

Prototype

public EventType getType() 

Source Link

Usage

From source file:com.nesscomputing.service.discovery.job.ZookeeperProcessingTask.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    LOG.debug("Received '%s' event", event.getState());
    switch (event.getState()) {
    case AuthFailed:
        LOG.warn("Got an auth request from zookeeper. Server config is not compatible to this client!");
        break;//from w ww. j  ava  2s. c  om
    case SyncConnected:
        LOG.trace("Session connected");
        connected = true;

        switch (event.getType()) {
        case None:
            break;
        default:
            LOG.trace("Zookeeper state changed: %s", event.getType());
            // Forces running of the work loop.
            generation.incrementAndGet();
            break;
        }

        break;
    case Disconnected:
        LOG.trace("Session disconnected, waiting for reconnect");
        connected = false;
        break;
    case Expired:
        LOG.trace("Session expired, closing zookeeper.");
        connected = false;
        closeZookeeper();
    default:
        // Huh?
        LOG.debug("Failed to process unknown state %s", event.getState());
        break;
    }
}

From source file:com.netflix.curator.ConnectionState.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    if (LOG_EVENTS) {
        log.debug("ConnectState watcher: " + event);
    }/*from w ww . j a va  2 s . co m*/

    for (Watcher parentWatcher : parentWatchers) {
        TimeTrace timeTrace = new TimeTrace("connection-state-parent-process", tracer.get());
        parentWatcher.process(event);
        timeTrace.commit();
    }

    boolean wasConnected = isConnected.get();
    boolean newIsConnected = wasConnected;
    if (event.getType() == Watcher.Event.EventType.None) {
        newIsConnected = checkState(event.getState(), wasConnected);
    }

    if (newIsConnected != wasConnected) {
        isConnected.set(newIsConnected);
        connectionStartMs = System.currentTimeMillis();
    }
}

From source file:com.netflix.curator.framework.imps.NamespaceWatchedEvent.java

License:Apache License

NamespaceWatchedEvent(CuratorFrameworkImpl client, WatchedEvent event) {
    super(event.getType(), event.getState(), client.unfixForNamespace(event.getPath()));
}

From source file:com.netflix.curator.framework.recipes.leader.LeaderLatch.java

License:Apache License

private void checkForLeadership() throws Exception {
    List<String> sortedChildren = LockInternals.getSortedChildren(client, latchPath, LOCK_NAME, sorter);
    if (sortedChildren.size() == 0) {
        throw new Exception("no children - unexpected state");
    }/* w  w  w.  java  2 s . co m*/

    int ourIndex = sortedChildren.indexOf(ZKPaths.getNodeFromPath(ourPath));
    if (ourIndex == 0) {
        setLeadership(true);
    } else {
        final String ourPathWhenWatched = ourPath; // protected against a lost/suspended connection and an old watcher - I'm not sure if this is possible but it can't hurt
        String watchPath = sortedChildren.get(ourIndex - 1);
        Watcher watcher = new Watcher() {
            @Override
            public void process(WatchedEvent event) {
                if ((event.getType() == Event.EventType.NodeDeleted) && (ourPath != null)
                        && ourPath.equals(ourPathWhenWatched)) {
                    try {
                        checkForLeadership();
                    } catch (Exception ex) {
                        log.error("An error ocurred checking the leadership.", ex);
                    }
                }
            }
        };
        if (client.checkExists().usingWatcher(watcher)
                .forPath(ZKPaths.makePath(latchPath, watchPath)) == null) {
            //the previous Participant may be down, so we need to reevaluate the list 
            //to get the actual previous Participant or get the leadership 
            checkForLeadership();
        }
    }
}

From source file:com.objectdriven.maven.zookeeper.sample.DataMonitor.java

public void process(WatchedEvent event) {
    String path = event.getPath();
    if (event.getType() == Event.EventType.None) {
        // We are are being told that the state of the
        // connection has changed
        switch (event.getState()) {
        case SyncConnected:
            // In this particular example we don't need to do anything
            // here - watches are automatically re-registered with
            // server and any watches triggered while the client was
            // disconnected will be delivered (in order of course)
            break;
        case Expired:
            // It's all over
            dead = true;/*from   w  w  w.  j a  va2  s . co m*/
            listener.closing(KeeperException.Code.SessionExpired);
            break;
        }
    } else {
        if (path != null && path.equals(znode)) {
            // Something has changed on the node, let's find out
            zk.exists(znode, true, this, null);
        }
    }
    if (chainedWatcher != null) {
        chainedWatcher.process(event);
    }
}

From source file:com.oneapm.base.tools.ZookeeperClient.java

/**
 * ??,?//  w  w w  . j  av  a 2s. co  m
 *
 * @param event
 */
@Override
public void process(WatchedEvent event) {
    LOG.info("" + event.getState());
    if (event.getType() == Event.EventType.NodeDataChanged && event.getPath().equals("/ni/caution")) {
        setRules(event.getPath());
    }
    if (event.getType() == Event.EventType.NodeDataChanged && event.getPath().equals("/ni/license")) {
        setLicense(event.getPath());
    }
}

From source file:com.proofpoint.zookeeper.ChildDataWatcher.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    try {/*from w w w . j av  a2s .  c o  m*/
        switch (event.getType()) {
        case NodeChildrenChanged: {
            log.debug("Getting children: %s", path);
            client.usingWatcher(this).inBackground(backgroundKey).getChildren(path);
            break;
        }

        case NodeDataChanged: {
            String child = event.getPath().substring(path.length() + 1);

            log.debug("Getting data: %s", event.getPath());
            client.usingWatcher(this).inBackground(backgroundKey).withContext(child).getData(event.getPath());
            break;
        }
        }
    } catch (Exception e) {
        log.error(e);
        throw new RuntimeException(e);
    }
}

From source file:com.proofpoint.zookeeper.ConnectionState.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    boolean localIsConnected;
    synchronized (this) {
        boolean needsNotify = false;
        if (event.getType() == Watcher.Event.EventType.None) {
            boolean wasConnected = isConnected;
            isConnected = (event.getState() == Event.KeeperState.SyncConnected);
            needsNotify = isConnected && !wasConnected;

            if (event.getState() == Event.KeeperState.Expired) {
                File sessionIdFile = new File(config.getSessionStorePath());
                if (!sessionIdFile.delete()) {
                    log.error("Could not delete session ID file: " + config.getSessionStorePath());
                }/*from  w ww  . j ava  2 s .  c  om*/
                needsNotify = true;
            } else if (event.getState() == Event.KeeperState.Disconnected) {
                needsNotify = true;
            }
        }

        if (needsNotify) {
            if (!isConnected && (zookeeper != null)) {
                try {
                    zookeeper.close();
                } catch (InterruptedException e) {
                    Thread.currentThread().interrupt();
                    log.error(e, "Interrupted trying to close Zookeeper. Ignoring at this level.");
                }
                clear();
            }

            notifyAll();
        }

        localIsConnected = isConnected;
    }

    if (localIsConnected) {
        client.postEvent(new ZookeeperEvent(getTypeFromWatched(event), 0, event.getPath(), null, null, null,
                null, null, null));
    }
}

From source file:com.proofpoint.zookeeper.ConnectionState.java

License:Apache License

private ZookeeperEvent.Type getTypeFromWatched(WatchedEvent event) {
    switch (event.getType()) {
    case None: {/*from  w w  w .  jav a2  s  .c  o  m*/
        return ZookeeperEvent.Type.WATCHED_NONE;
    }

    case NodeCreated: {
        return ZookeeperEvent.Type.WATCHED_NODE_CREATED;
    }

    case NodeDeleted: {
        return ZookeeperEvent.Type.WATCHED_NODE_DELETED;
    }

    case NodeDataChanged: {
        return ZookeeperEvent.Type.WATCHED_NODE_DATA_CHANGED;
    }

    case NodeChildrenChanged: {
        return ZookeeperEvent.Type.WATCHED_NODE_CHILDREN_CHANGED;
    }
    }
    return ZookeeperEvent.Type.WATCHED_NONE;
}

From source file:com.rapleaf.hank.coordinator.zk.ZkRing.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    LOG.debug(event);//  w  w  w .  j av  a  2  s  .  c  om
    switch (event.getType()) {
    case NodeChildrenChanged:
        refreshAndRegister();
    }
}