curator-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s influxdb <elastic....@gmail.com>
Subject Re: curator pathcache
Date Wed, 09 Mar 2016 22:16:38 GMT
sure

main class
    RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
            client = CuratorFrameworkFactory.newClient("10.x.x.x",
retryPolicy);
            client.start();
            SyncData sd = new SyncData(client);
            sd.run();

the class that calls cache

private static final String PATH = "/zktest";

    public void run () throws Exception
       {
        try {

            cache = new PathChildrenCache(client, PATH, true);
            cache.start();

            list(cache);


                for(;;) {
                    try {
                        Thread.sleep(50000);
                    } catch(InterruptedException e) {
                    }
                }

            }
             finally {
                CloseableUtils.closeQuietly(cache);
             }
        }

On Wed, Mar 9, 2016 at 1:30 PM, Cameron McKenzie <mckenzie.cam@gmail.com>
wrote:

> I just tried running the example and it seems to work fine for me. I
> assume that you modified the code in some way for it to run against a
> proper ZK instance? Can you post it somewhere?
>
> On Thu, Mar 10, 2016 at 5:53 AM, s influxdb <elastic.l.k@gmail.com> wrote:
>
>>
>> ---------- Forwarded message ----------
>> From: s influxdb <elastic.l.k@gmail.com>
>> Date: Wed, Mar 9, 2016 at 10:36 AM
>> Subject: Re: curator pathcache
>> To: Jordan Zimmerman <jordan@jordanzimmerman.com>
>> Cc: user@curator.apache.org
>>
>>
>> Sorry for posting this in a wrong forum the first time.
>>
>> I recreated a new project and was running the example code here for cache
>> : http://curator.apache.org/curator-examples/index.html
>>
>>
>> Today when i  try to replicathe NPE i am unable to do that .
>> However when i call the  list(cache) it prints the size of the data in
>> the node as 0. This works with NodeCache
>>
>> Curator libraries are 2.10 and zookeeper version 3.4.6.
>>
>> Ideally i would like to use TreeCache but it gave me NPE too. My use case
>> is setting a watch on the entire znode in the cluster and be notified about
>> it. Thanks for replying to the mail.
>>
>>     private static void list(PathChildrenCache cache)
>>     {
>>         if ( cache.getCurrentData().size() == 0 )
>>         {
>>             System.out.println("* empty *");
>>         }
>>         else
>>         {
>>             for ( ChildData data : cache.getCurrentData() )
>>             {
>>                 System.out.println(data.getPath() + " = " + new
>> String(data.getData()));
>>             }
>>         }
>>     }
>>
>>
>>
>>
>> On Wed, Mar 9, 2016 at 9:44 AM, Jordan Zimmerman <
>> jordan@jordanzimmerman.com> wrote:
>>
>>> Moving this to Curator’s list…
>>>
>>> Where do you get the NPE? Please send the stacktrace.
>>>
>>> -Jordan
>>>
>>> > On Mar 8, 2016, at 8:27 PM, s influxdb <elastic.l.k@gmail.com> wrote:
>>> >
>>> > I am trying to run the path cahce and keep java NPE
>>> >
>>> > Running curator 2.9.0 libraries against a zookeeper 3.4.6 cluster
>>> > Even
>>> >
>>> > The samples are taken from the curator examples .
>>> >
>>> >
>>> >
>>> >  public void run () throws Exception
>>> >       {
>>> >             try {
>>> >
>>> >                pcache = new PathChildrenCache(client, PATH, true);
>>> >             pcache.start();
>>> >
>>> >                addListener(cache);
>>> >
>>> >           //    list(pcache);
>>> >
>>> >               pcache.close();
>>> >            }
>>> >             finally {
>>> >                CloseableUtils.closeQuietly(cache);
>>> >             }
>>> >        }
>>> >
>>> >
>>> >      private static void addListener(PathChildrenCache cache)
>>> >      {
>>> >          // a PathChildrenCacheListener is optional. Here, it's used
>>> just
>>> > to log changes
>>> >          PathChildrenCacheListener listener = new
>>> > PathChildrenCacheListener()
>>> >          {
>>> >              @Override
>>> >              public void childEvent(CuratorFramework client,
>>> > PathChildrenCacheEvent event) throws Exception
>>> >              {
>>> >                  switch ( event.getType() )
>>> >                  {
>>> >                      case CHILD_ADDED:
>>> >                      {
>>> >                          System.out.println("Node added: " +
>>> > ZKPaths.getNodeFromPath(event.getData().getPath()));
>>> >                          break;
>>> >                      }
>>> >
>>> >                      case CHILD_UPDATED:
>>> >                      {
>>> >                          System.out.println("Node changed: " +
>>> > ZKPaths.getNodeFromPath(event.getData().getPath()));
>>> >                          break;
>>> >                      }
>>> >
>>> >                      case CHILD_REMOVED:
>>> >                      {
>>> >                          System.out.println("Node removed: " +
>>> > ZKPaths.getNodeFromPath(event.getData().getPath()));
>>> >                          break;
>>> >                      }
>>> >                  }
>>> >              }
>>> >          };
>>> >          cache.getListenable().addListener(listener);
>>> >      }
>>> >
>>> >
>>> > Here running a list returns empty size all the time
>>> >
>>> >      private static void list(PathChildrenCache cache)
>>> >        {
>>> >
>>> >            if ( cache.getCurrentData().size() == 0 )
>>> >            {
>>> >                System.out.println("* empty *");
>>> >            }
>>> >            else
>>> >            {
>>> >                for ( ChildData data : cache.getCurrentData() )
>>> >                {
>>> >                    System.out.println(data.getPath() + " = " + new
>>> > String(data.getData()));
>>> >                }
>>> >            }
>>> >        }
>>>
>>>
>>
>>
>

Mime
View raw message