Example usage for org.apache.zookeeper WatchedEvent getPath

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

Introduction

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

Prototype

public String getPath() 

Source Link

Usage

From source file:com.navercorp.redis.cluster.ZookeeperConTest.java

License:Apache License

/**
 * @param event/*  w  ww .ja  v  a 2s.  co m*/
 * @see org.apache.zookeeper.Watcher#process(org.apache.zookeeper.WatchedEvent)
 */
public void process(WatchedEvent event) {
    log.info("[NodeWatcher] Event {type=" + event.getType() + ", state=" + event.getState() + ", path="
            + event.getPath() + "}");

    if (event.getType() == Event.EventType.None) {
        switch (event.getState()) {
        case SyncConnected:
            log.debug("SyncConnected");
            this.connLatcher.countDown();
            break;
        default:

        }
    }
}

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

License:Apache License

public CuratorFrameworkImpl(CuratorFrameworkFactory.Builder builder) {
    this.client = new CuratorZookeeperClient(builder.getZookeeperFactory(), builder.getEnsembleProvider(),
            builder.getSessionTimeoutMs(), builder.getConnectionTimeoutMs(), new Watcher() {
                @Override/*  w  w  w .java2 s  .  c om*/
                public void process(WatchedEvent watchedEvent) {
                    CuratorEvent event = new CuratorEventImpl(CuratorFrameworkImpl.this,
                            CuratorEventType.WATCHED, watchedEvent.getState().getIntValue(),
                            unfixForNamespace(watchedEvent.getPath()), null, null, null, null, null,
                            watchedEvent, null);
                    processEvent(event);
                }
            }, builder.getRetryPolicy());

    listeners = new ListenerContainer<CuratorListener>();
    unhandledErrorListeners = new ListenerContainer<UnhandledErrorListener>();
    backgroundOperations = new DelayQueue<OperationAndData<?>>();
    namespace = new NamespaceImpl(this, builder.getNamespace());
    threadFactory = getThreadFactory(builder);
    connectionStateManager = new ConnectionStateManager(this, builder.getThreadFactory());
    compressionProvider = builder.getCompressionProvider();
    aclProvider = builder.getAclProvider();
    namespaceFacadeCache = new NamespaceFacadeCache(this);

    byte[] builderDefaultData = builder.getDefaultData();
    defaultData = (builderDefaultData != null) ? Arrays.copyOf(builderDefaultData, builderDefaultData.length)
            : new byte[0];

    if (builder.getAuthScheme() != null) {
        authInfo.set(new AuthInfo(builder.getAuthScheme(), builder.getAuthValue()));
    }

    failedDeleteManager = new FailedDeleteManager(this);
}

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.imps.TestFramework.java

License:Apache License

@Test
public void testNamespaceWithWatcher() throws Exception {
    CuratorFrameworkFactory.Builder builder = CuratorFrameworkFactory.builder();
    CuratorFramework client = builder.connectString(server.getConnectString()).namespace("aisa")
            .retryPolicy(new RetryOneTime(1)).build();
    client.start();//w w  w  .j ava  2 s.c o m
    try {
        final BlockingQueue<String> queue = new LinkedBlockingQueue<String>();
        Watcher watcher = new Watcher() {
            @Override
            public void process(WatchedEvent event) {
                try {
                    queue.put(event.getPath());
                } catch (InterruptedException e) {
                    throw new Error(e);
                }
            }
        };
        client.create().forPath("/base");
        client.getChildren().usingWatcher(watcher).forPath("/base");
        client.create().forPath("/base/child");

        String path = queue.take();
        Assert.assertEquals(path, "/base");
    } finally {
        client.close();
    }
}

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  ww  . j ava2  s.  c o  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

/**
 * ??,?/*from   w  w w  .  j av  a  2s.c  o  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 {//w  w w  .j  av  a 2 s.  c om
        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  a  v  a  2 s. c  o m*/
                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.sharksharding.resources.watcher.ZookeeperWatcher.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    if (null == zk_client)
        return;//from w w w  . jav a2 s . c  om
    try {
        Thread.sleep(100);
        /* ? */
        zk_client.exists(nodePath, this);
        EventType eventType = event.getType();
        switch (eventType) {
        case NodeCreated:
            logger.info("create node-->" + event.getPath());
            break;
        case NodeDataChanged:
            final String nodePathValue = new String(zk_client.getData(nodePath, false, null));
            RegisterDataSource.register(nodePathValue, "zookeeper");
            logger.info("change node data-->" + event.getPath());
            break;
        case NodeChildrenChanged:
            break;
        case NodeDeleted:
        default:
            break;
        }
    } catch (Exception e) {
        throw new ConnectionException(e.toString());
    }
}

From source file:com.sonian.elasticsearch.zookeeper.client.ZooKeeperClientService.java

License:Apache License

private Watcher wrapNodeListener(final NodeListener nodeListener) {
    if (nodeListener != null) {
        return new Watcher() {
            @Override/*from  w  w  w .j  a v  a2 s  . c o m*/
            public void process(WatchedEvent event) {
                switch (event.getType()) {
                case NodeCreated:
                    nodeListener.onNodeCreated(event.getPath());
                    break;
                case NodeDeleted:
                    nodeListener.onNodeDeleted(event.getPath());
                    break;
                case NodeDataChanged:
                    nodeListener.onNodeDataChanged(event.getPath());
                    break;
                }
            }
        };
    } else {
        return null;
    }
}