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())); >> > } >> > } >> > } >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >
