List of usage examples for org.apache.zookeeper WatchedEvent getState
public KeeperState getState()
From source file:com.github.mosuka.zookeeper.nicli.util.ZooKeeperConnection.java
License:Apache License
public void connect(String server, int timeout) throws IOException, InterruptedException { zookeeper = new ZooKeeper(server, timeout, new Watcher() { public void process(WatchedEvent event) { if (event.getState() == KeeperState.SyncConnected) { connSignal.countDown();/*w ww .j av a 2 s.c o m*/ } } }); connSignal.await(); }
From source file:com.github.zkclient.ZkClient.java
License:Apache License
public void process(WatchedEvent event) { LOG.debug("Received event: " + event); _zookeeperEventThread = Thread.currentThread(); boolean stateChanged = event.getPath() == null; boolean znodeChanged = event.getPath() != null; boolean dataChanged = event.getType() == EventType.NodeDataChanged || // event.getType() == EventType.NodeDeleted || event.getType() == EventType.NodeCreated || // event.getType() == EventType.NodeChildrenChanged; getEventLock().lock();//from w ww . ja v a 2 s . c om try { // We might have to install child change event listener if a new node was created if (getShutdownTrigger()) { LOG.debug("ignoring event '{" + event.getType() + " | " + event.getPath() + "}' since shutdown triggered"); return; } if (stateChanged) { processStateChanged(event); } if (dataChanged) { processDataOrChildChange(event); } } finally { if (stateChanged) { getEventLock().getStateChangedCondition().signalAll(); // If the session expired we have to signal all conditions, because watches might have been removed and // there is no guarantee that those // conditions will be signaled at all after an Expired event if (event.getState() == KeeperState.Expired) { getEventLock().getZNodeEventCondition().signalAll(); getEventLock().getDataChangedCondition().signalAll(); // We also have to notify all listeners that something might have changed fireAllEvents(); } } if (znodeChanged) { getEventLock().getZNodeEventCondition().signalAll(); } if (dataChanged) { getEventLock().getDataChangedCondition().signalAll(); } getEventLock().unlock(); LOG.debug("Leaving process event"); } }
From source file:com.glaf.cluster.catalina.session.ConnectionWatcher.java
License:Apache License
public void process(WatchedEvent event) { KeeperState state = event.getState(); if (state == KeeperState.SyncConnected) { signal.countDown();//from w w w. j a v a2 s .c o m } }
From source file:com.glaf.cluster.catalina.session.ZooKeeperClientImpl.java
License:Apache License
protected void doStart() { try {//from www . ja va 2s .co m final Watcher watcher = new Watcher() { @Override public void process(WatchedEvent event) { switch (event.getState()) { case Expired: resetSession(); break; case SyncConnected: notifySessionConnected(); break; case Disconnected: notifySessionDisconnected(); break; default: break; } } }; zooKeeper = zooKeeperFactory.newZooKeeper(watcher); createPersistentNode(GROUP_NAME); } catch (InterruptedException e) { throw new RuntimeException("Cannot start ZooKeeper client", e); } }
From source file:com.glaf.core.test.zookeeper.CreateGroup.java
License:Apache License
@Override public void process(WatchedEvent event) { // Watcher interface if (event.getState() == KeeperState.SyncConnected) { connectedSignal.countDown();/*from ww w.j av a 2 s . c o m*/ } }
From source file:com.griddynamics.jagger.coordinator.zookeeper.ZookeeperCoordinator.java
License:Open Source License
@Override public void registerNode(NodeContext nodeContext, Set<Worker> workers, final StatusChangeListener listener) throws CoordinatorException { log.info("Going to register node {} with {} workers", nodeContext.getId(), workers.size()); ZNode typeNode = rootNode.child(CoordinationUtil.nodeNameOf(nodeContext.getId().getType())); ZNode node = typeNode.createChild(znode().withPath(nodeContext.getId().getIdentifier())); Set<CommandExecutor<?, ?>> executors = Sets.newHashSet(); Set<Qualifier<?>> qualifiers = Sets.newHashSet(); for (Worker worker : workers) { for (CommandExecutor<?, ?> executor : worker.getExecutors()) { Qualifier<?> qualifier = executor.getQualifier(); if (qualifiers.contains(qualifier)) { throw new CoordinatorException( "Executor for qualifier " + qualifier + " is already registered"); }/*from www.j av a2 s . c om*/ executors.add(executor); } } for (CommandExecutor<?, ?> executor : executors) { registerExecutor(nodeContext, executor, node); } rootNode.addNodeWatcher(new Watcher() { @Override public void process(WatchedEvent event) { if (event.getState() == Event.KeeperState.Disconnected) { listener.onCoordinatorDisconnected(); } if (event.getState() == Event.KeeperState.SyncConnected) { listener.onCoordinatorConnected(); } } }); ZNode statuses = rootNode.child(CoordinationUtil.STATUSES_NODE_NAME); statuses.createChild(znode().ephemeralSequential().withDataObject(nodeContext.getId())); Lock lock = new ReentrantLock(); lock.lock(); try { Collection<NodeId> nodeIds = Sets.newHashSet(); StatusWatcher statusWatcher = new StatusWatcher(statuses, lock, nodeIds, listener); List<ZNode> nodes = statuses.children(statusWatcher); for (ZNode zNode : nodes) { nodeIds.add(zNode.getObject(NodeId.class)); } } finally { lock.unlock(); } node.createChild(znode().withPath(CoordinationUtil.AVAILABLE_NODE_NAME)); }
From source file:com.griddynamics.jagger.coordinator.zookeeper.ZooKeeperFactory.java
License:Open Source License
public IZookeeper create() { final CountDownLatch connectedSignal = new CountDownLatch(1); IZookeeper zooKeeper = null;//from www. j a v a 2s . c o m try { zooKeeper = new DefaultZookeeper(connectString, sessionTimeout, new Watcher() { @Override public void process(WatchedEvent event) { if (event.getState() == Event.KeeperState.SyncConnected) { connectedSignal.countDown(); } } }, reconnectPeriod); connectedSignal.await(); } catch (Exception e) { throw new ZooException(e); } return zooKeeper; }
From source file:com.guang.eunormia.common.dislock.ZKClient.java
License:Open Source License
@Override synchronized public void process(WatchedEvent event) { Event.KeeperState state = event.getState(); if (state == Event.KeeperState.SyncConnected) { connectedSignal.countDown();/*from ww w . jav a 2 s. c o m*/ } else if (state == Event.KeeperState.Expired) { logger.warn("- the connect to ZooKeeper session expired ..."); connect(); } else if (state == Event.KeeperState.Disconnected) { logger.warn("- the zookeeper state is disconnected and it will connect later ..."); } else { logger.warn("- the zookeeper state is " + state); } }
From source file:com.gxl.shark.resources.conn.ZookeeperConnectionManager.java
License:Apache License
/** * zookeeper/*from w w w . ja v a2s.co m*/ * * @author JohnGao */ private void connection() { try { zk_client = new ZooKeeper(zk_address, zk_session_timeout, new Watcher() { @Override public void process(WatchedEvent event) { final KeeperState STATE = event.getState(); final String VALUE = "zookeeper?[" + zk_address + "]"; switch (STATE) { case SyncConnected: countDownLatch.countDown(); logger.info(VALUE + "?"); break; case Disconnected: logger.warn(VALUE + "?"); break; case Expired: logger.error(VALUE + "??"); break; case AuthFailed: logger.error(VALUE + "?ACL?"); default: break; } } }); countDownLatch.await(); /* ?? */ registerNode.register(zk_client, nodePath); } catch (IOException e) { throw new ResourceException("zookeeper?[" + e.toString() + "]"); } catch (InterruptedException e) { e.printStackTrace(); } }
From source file:com.gxl.test.shark.resource.zkSetData.java
License:Apache License
public @Test void testSetData() { try (BufferedReader reader = new BufferedReader(new FileReader("c:/shark-datasource.xml"))) { StringBuffer str = new StringBuffer(); String value = ""; while (null != (value = reader.readLine())) str.append(value);/* w w w . java2s . c om*/ final CountDownLatch countDownLatch = new CountDownLatch(1); ZooKeeper zk_client = new ZooKeeper( "120.25.58.116:2181,120.25.58.116:2182,120.25.58.116:2183,120.25.58.116:2184", 30000, new Watcher() { @Override public void process(WatchedEvent event) { final KeeperState STATE = event.getState(); switch (STATE) { case SyncConnected: countDownLatch.countDown(); logger.info("?zookeeper?"); break; case Disconnected: logger.warn("zookeeper?"); break; case Expired: logger.error("session?..."); break; case AuthFailed: logger.error("ACL?..."); default: break; } } }); countDownLatch.await(); zk_client.setData("/info/datasource", str.toString().getBytes(), -1); logger.info("insert success"); } catch (Exception e) { logger.error("insert fail", e); } }