List of usage examples for org.apache.zookeeper WatchedEvent getType
public EventType getType()
From source file:com.continuuity.weave.internal.state.ZKServiceDecorator.java
License:Open Source License
private void watchMessages() { final String messagesPath = getZKPath("messages"); Futures.addCallback(zkClient.getChildren(messagesPath, new Watcher() { @Override/* w w w. j a v a 2 s . co m*/ public void process(WatchedEvent event) { // TODO: Do we need to deal with other type of events? if (event.getType() == Event.EventType.NodeChildrenChanged && decoratedService.isRunning()) { watchMessages(); } } }), new FutureCallback<NodeChildren>() { @Override public void onSuccess(NodeChildren result) { // Sort by the name, which is the messageId. Assumption is that message ids is ordered by time. List<String> messages = Lists.newArrayList(result.getChildren()); Collections.sort(messages); for (String messageId : messages) { processMessage(messagesPath + "/" + messageId, messageId); } } @Override public void onFailure(Throwable t) { // TODO: what could be done besides just logging? LOG.error("Failed to watch messages.", t); } }); }
From source file:com.continuuity.weave.internal.zookeeper.RewatchOnExpireWatcher.java
License:Open Source License
@Override public void process(WatchedEvent event) { if (delegate != null && event.getType() != Event.EventType.None) { try {/*from w w w.j a v a 2 s .c o m*/ delegate.process(event); } catch (Throwable t) { LOG.error("Watcher throws exception.", t); } } if (event.getState() != Event.KeeperState.Expired) { return; } switch (actionType) { case EXISTS: exists(); break; case CHILDREN: children(); break; case DATA: data(); break; } }
From source file:com.continuuity.weave.zookeeper.ZKOperations.java
License:Open Source License
public static void watchDeleted(final ZKClient zkClient, final String path, final SettableFuture<String> completion) { Futures.addCallback(zkClient.exists(path, new Watcher() { @Override//from w w w . jav a 2s . com public void process(WatchedEvent event) { if (!completion.isDone()) { if (event.getType() == Event.EventType.NodeDeleted) { completion.set(path); } else { watchDeleted(zkClient, path, completion); } } } }), new FutureCallback<Stat>() { @Override public void onSuccess(Stat result) { if (result == null) { completion.set(path); } } @Override public void onFailure(Throwable t) { completion.setException(t); } }); }
From source file:com.dang.crawler.conlony.zookeeper.election.LeaderElectionSupport.java
License:Apache License
@Override public void process(WatchedEvent event) { if (event.getType().equals(Event.EventType.NodeDeleted)) { if (!event.getPath().equals(leaderOffer.getNodePath()) && state != State.STOP) { logger.debug("Node {} deleted. Need to run through the election process.", event.getPath()); try { determineElectionStatus(); } catch (KeeperException e) { becomeFailed(e);//from w w w .ja va 2 s . c o m } catch (InterruptedException e) { becomeFailed(e); } } } }
From source file:com.dangdang.config.service.easyzk.ConfigNodeEventListener.java
License:Apache License
@Override public void eventReceived(CuratorFramework client, CuratorEvent event) throws Exception { if (LOGGER.isDebugEnabled()) { LOGGER.debug(event.toString());/*from w w w . j a v a 2 s. c o m*/ } final WatchedEvent watchedEvent = event.getWatchedEvent(); if (watchedEvent != null) { if (LOGGER.isDebugEnabled()) { LOGGER.debug(watchedEvent.toString()); } if (watchedEvent.getState() == KeeperState.SyncConnected) { boolean someChange = false; switch (watchedEvent.getType()) { case NodeChildrenChanged: configNode.loadNode(false); someChange = true; break; case NodeDataChanged: configNode.loadKey(watchedEvent.getPath()); someChange = true; break; default: break; } if (someChange && configNode.getConfigLocalCache() != null) { configNode.getConfigLocalCache().saveLocalCache(configNode, configNode.getNode()); } } } }
From source file:com.dangdang.config.service.zookeeper.ConfigNodeEventListener.java
License:Apache License
@Override public void eventReceived(CuratorFramework client, CuratorEvent event) throws Exception { if (LOGGER.isDebugEnabled()) { LOGGER.debug(event.toString());/* w w w . j a va 2s . co m*/ } final WatchedEvent watchedEvent = event.getWatchedEvent(); if (watchedEvent != null) { LOGGER.debug("Watched event: {}" + watchedEvent); if (watchedEvent.getState() == KeeperState.SyncConnected) { boolean someChange = false; switch (watchedEvent.getType()) { case NodeChildrenChanged: configNode.loadNode(); someChange = true; break; case NodeDataChanged: configNode.reloadKey(watchedEvent.getPath()); someChange = true; break; default: break; } if (someChange && configNode.getConfigLocalCache() != null) { configNode.getConfigLocalCache().saveLocalCache(configNode, configNode.getNode()); } } } }
From source file:com.dangdang.config.service.zookeeper.ZookeeperConfigGroup.java
License:Apache License
/** * ?//from w ww .j av a2 s . c om */ private void initConfigs() { client = CuratorFrameworkFactory.newClient(configProfile.getConnectStr(), configProfile.getRetryPolicy()); client.start(); client.getCuratorListenable().addListener(new CuratorListener() { @Override public void eventReceived(CuratorFramework client, CuratorEvent event) throws Exception { LOGGER.info("Event: {}", event); final WatchedEvent watchedEvent = event.getWatchedEvent(); if (watchedEvent != null) { LOGGER.debug("Watched event: {}", watchedEvent); if (watchedEvent.getState() == Watcher.Event.KeeperState.SyncConnected) { switch (watchedEvent.getType()) { case NodeChildrenChanged: loadNode(); break; case NodeDataChanged: reloadKey(watchedEvent.getPath()); break; default: break; } } } } }); final CountDownLatch countDownLatch = new CountDownLatch(1); client.getConnectionStateListenable().addListener(new ConnectionStateListener() { @Override public void stateChanged(CuratorFramework client, ConnectionState newState) { LOGGER.info("Connection state change: {}", newState); if (newState == ConnectionState.CONNECTED) { LOGGER.debug("Loading properties for node: {}", node); loadNode(); countDownLatch.countDown(); } else if (newState == ConnectionState.RECONNECTED) { loadNode(); } } }); try { countDownLatch.await(); } catch (InterruptedException e) { LOGGER.error(e.getMessage(), e); throw new RuntimeException("Config Load error.", e); } // Update local cache if (configLocalCache != null) { configLocalCache.saveLocalCache(this, node); } }
From source file:com.datis.zookafka.client.Creator.java
@Override public void process(WatchedEvent e) { LOG.info("Processing event: " + e.toString()); if (e.getType() == Event.EventType.None) { switch (e.getState()) { case SyncConnected: System.out.println("Event SynConnected"); connected = true;/*from w w w .ja v a2 s . c o m*/ break; case Disconnected: System.out.println("Event Disconnected"); connected = false; break; case Expired: System.out.println("Event Expired"); expired = true; connected = false; LOG.error("Session expiration"); default: break; } } }
From source file:com.demo.master_work.Client.java
License:Apache License
public void process(WatchedEvent e) { System.out.println(e);// w ww. ja v a2 s. c o m if (e.getType() == Event.EventType.None) { switch (e.getState()) { case SyncConnected: connected = true; break; case Disconnected: connected = false; break; case Expired: expired = true; connected = false; System.out.println("Exiting due to session expiration"); default: break; } } }
From source file:com.dianping.lion.client.zookeeper.SessionRecoverableZookeeper.java
License:Open Source License
@Override public void process(WatchedEvent event) { if (event.getType() == Event.EventType.None && event.getState() == KeeperState.Expired) { try {/*from w w w .j a va 2 s .co m*/ reconnectToZookeeper(this.zookeeper); } catch (Exception e) { logger.warn("Reconnect to zookeeper cluster failed while session expired.", e); } } if (this.watcher != null) { this.watcher.process(event); } }