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