Post your code along with whatever build scripts you’re using to Github or 
something similar and we’ll have a look. Are you using Maven? Gradle? How are 
you putting your dependencies together? 

> On Mar 9, 2016, at 9:04 PM, s influxdb <[email protected]> wrote:
> 
> i tried all the curator libraries . still same result . TestingServer or the 
> PathCache isn't working
> 
> On Wed, Mar 9, 2016 at 5:22 PM, s influxdb <[email protected] 
> <mailto:[email protected]>> wrote:
> Ok let me try that. 
> 
> On another note this piece of nodecache code works
> 
>             final NodeCache nodeCache = new NodeCache(client, PATH);
>                 nodeCache.getListenable().addListener(new NodeCacheListener() 
> {
>                     @Override
>                     public void nodeChanged() throws Exception {
>                         ChildData currentData = nodeCache.getCurrentData();
>                         System.out.println("data change watched, and current 
> data = " + new String(currentData.getData()));
>                     }
>                 });
>                 nodeCache.start();
>                 Thread.sleep(50000);
> 
> On Wed, Mar 9, 2016 at 5:20 PM, Cameron McKenzie <[email protected] 
> <mailto:[email protected]>> wrote:
> You must have some old Curator stuff on your classpath. All of the curator 
> stuff has an org.apache package prefix. It was ported from Netflix some time 
> ago.
> 
> On Thu, Mar 10, 2016 at 12:15 PM, s influxdb <[email protected] 
> <mailto:[email protected]>> wrote:
> I see the TestingServer class in  import 
> com.netflix.curator.test.TestingServer;
> 
> In the sample file i see it as import org.apache.curator.test.TestingServer;
> 
> Even then i get the below error while instantiating a TestingServer Class
> Default constructor cannot handle exception type Exception thrown by implicit 
> super constructor. Must define an explicit constructor
> 
> Then i tried the TestingCluster class
> static TestingCluster       server = new TestingCluster();
> 
> That gives me a class not found exception
> Exception in thread "main" java.lang.NoClassDefFoundError: 
> javassist/NotFoundException
>     at 
> com.netflix.curator.test.TestingCluster.<clinit>(TestingCluster.java:40)
> 
> 
> On Wed, Mar 9, 2016 at 4:16 PM, Cameron McKenzie <[email protected] 
> <mailto:[email protected]>> wrote:
> The TestingServer class is definitely in the curator-test jar, so you must 
> have some issue with your build / IDE environment.
> 
> On Thu, Mar 10, 2016 at 11:13 AM, s influxdb <[email protected] 
> <mailto:[email protected]>> wrote:
> I tried importing the curator-test artifcactid and it this import 
> org.apache.curator.test.TestingServer; doesn't resolve
> 
> On Wed, Mar 9, 2016 at 2:58 PM, Cameron McKenzie <[email protected] 
> <mailto:[email protected]>> wrote:
> Can you try running the PathCacheExample unmodified? It uses a testing ZK 
> server. But can you just confirm that this much works for you? Then maybe try 
> and modify the sample so that it connects to your real ZK instance?
> 
> On Thu, Mar 10, 2016 at 9:53 AM, s influxdb <[email protected] 
> <mailto:[email protected]>> wrote:
> i did try adding a sleep and got the same result
>      cache.start();
>             Thread.sleep(5000);
>             list(cache);
> 
> I am using curator libraries version 2.10 and zookeeper version 3..4.6
> 
> On Wed, Mar 9, 2016 at 2:19 PM, Cameron McKenzie <[email protected] 
> <mailto:[email protected]>> wrote:
> I think that you have a race condition between calling start() on your cache 
> and calling list(). Calling list() just checks the current state of the 
> cache. If it hasn't communicated with ZK yet, it won't have any data. Try 
> putting in a sleep after the cache.start() call, before you call list().
> 
> On Thu, Mar 10, 2016 at 9:16 AM, s influxdb <[email protected] 
> <mailto:[email protected]>> wrote:
> 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 <[email protected] 
> <mailto:[email protected]>> 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 <[email protected] 
> <mailto:[email protected]>> wrote:
> 
> ---------- Forwarded message ----------
> From: s influxdb <[email protected] <mailto:[email protected]>>
> Date: Wed, Mar 9, 2016 at 10:36 AM
> Subject: Re: curator pathcache
> To: Jordan Zimmerman <[email protected] 
> <mailto:[email protected]>>
> Cc: [email protected] <mailto:[email protected]>
> 
> 
> 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 
> <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 <[email protected] 
> <mailto:[email protected]>> 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 <[email protected] 
> > <mailto:[email protected]>> 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()));
> >                }
> >            }
> >        }
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 

Reply via email to