List of usage examples for org.apache.zookeeper WatchedEvent getType
public EventType getType()
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(); } }