Scott - can you look at this please?
> On Aug 24, 2016, at 5:45 AM, Ankit Singhai <[email protected]> wrote:
>
> Hi All,
> I am trying to get the notifications (events) by using TreeCache but apart
> from Initialized none other are coming on adding / deleting of node. Can
> someone please point where I am going wrong.
>
> package com.gvc.caches;
>
> import org.apache.curator.framework.CuratorFramework;
> import org.apache.curator.framework.CuratorFrameworkFactory;
> import org.apache.curator.framework.recipes.cache.TreeCache;
> import org.apache.curator.framework.recipes.cache.TreeCacheEvent;
> import org.apache.curator.framework.recipes.cache.TreeCacheListener;
> import org.apache.curator.retry.ExponentialBackoffRetry;
> import org.apache.zookeeper.CreateMode;
> import java.util.concurrent.Executors;
>
> /**
> * Created by Ankit on 8/24/2016.
> *
> * Not working .... events are not coming on add / delete / update of node.
> */
> public class TreeNodeCacheMain {
>
> public static void main(String[] args) throws Exception {
> String path = "treeCacheTesting1";
> String pathPass = "/treeCacheTesting1";
> String connectionString = "127.0.0.1:2181";
> CuratorFramework curatorFramework =
> CuratorFrameworkFactory.builder().connectString(connectionString).namespace(path).retryPolicy(newExponentialBackoffRetry(1000,
> 10)).build();
> curatorFramework.start();
> curatorFramework.blockUntilConnected();
> TreeCache treeCache =
> TreeCache.newBuilder(curatorFramework,pathPass).setCacheData(true).setExecutor(Executors.newSingleThreadExecutor()).build();
> treeCache.getListenable().addListener(new TreeCacheListenerImpl(),
> Executors.newSingleThreadExecutor());
> treeCache.start();
> System.out.println("Creating data");
>
> curatorFramework.create().withMode(CreateMode.EPHEMERAL).forPath("/node1",
> new byte[1024]);
>
> curatorFramework.create().withMode(CreateMode.EPHEMERAL).forPath("/node2",
> new byte[1024]);
> System.out.println("Changing data");
> curatorFramework.setData().forPath("/node1", new byte[512]);
> curatorFramework.setData().forPath("/node2", new byte[512]);
> System.out.println("Deleting data");
> curatorFramework.delete().forPath("/node1");
> curatorFramework.delete().forPath("/node2");
> }
> }
>
> class TreeCacheListenerImpl implements TreeCacheListener {
> @Override
> public void childEvent(CuratorFramework curatorFramework, TreeCacheEvent
> treeCacheEvent) throws Exception {
> System.out.println("Inside Listener " + treeCacheEvent);
> }
> }
>
> Thanks,
> Ankit Singhai