You need to do much more than that. Have you done much Java programming? 
Curator’s TestServer is in a separate artifact. I suggest you use a dependency 
manager such as Maven or Gradle. The Curator examples directory has a Maven pom 
file that you can use. But, explaining Maven, etc. is more than we can do in an 
email.

https://github.com/apache/curator/tree/master/curator-examples

-Jordan

> On Mar 9, 2016, at 9:13 PM, s influxdb <[email protected]> wrote:
> 
> i was using the Eclipse IDE and adding the Curator JAR's as External JAR. It 
> resolves for curator framework , curator client etc
> 
> The code i have is nothing but the sample PathCacheExample.java code from the 
> examples posted in curator.apache.org <http://curator.apache.org/>
> 
> Let me try it using maven instead.
> 
> On Wed, Mar 9, 2016 at 6:09 PM, Jordan Zimmerman <[email protected] 
> <mailto:[email protected]>> wrote:
> 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] 
>> <mailto:[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