2017-09-20 4 views
0

私はZookeeper.Iをプログラムするキュレーターを使用しzonde.Myコードのサブznodesを見たいが次のようになります。どのようにznodesのサブznodeを見てください?

CuratorFramework frameWork = CuratorFrameworkFactory.builder() 
      .retryPolicy(new RetryNTimes(3, 1000)) 
      .connectString("127.0.0.1:2181").build(); 
frameWork.start(); 

CuratorWatcher watcher = new CuratorWatcher() { 

      @Override 
      public void process(WatchedEvent event) throws Exception 
      { 
       System.out.println("event :" + event); 
      } 

     }; 

frameWork.getChildren()usingWatcher(ウォッチャー).forPath( "/ AA。 ");frameWork.setData()。forPath( "/ aa/dd"、 "asdfd" .getBytes());

「/ aa/dd」の設定データが呼び出されると、ウォッチャーがトリガーされます。しかし、失敗しました。

答えて

0

キュレーターにはこれを行うレシピがあります。 TreeCacheを参照してください:http://curator.apache.org/curator-recipes/tree-cache.html

+0

私はこのレシピを知っています。なぜ私のコードが動作しないのか知りたい私は "/ aa"の子供を見ていると思うが、 "/ aa"の子供のすべての変化が時計を引き起こすだろう。しかし、それはしません。 – Robin

+0

ZooKeeperにはいくつかのタイプのウォッチャーがあります。データの変更を監視するには、まずgetData()を使って時計を設定する必要があります。 ZooKeeperを正しく使用することは非常に難しく、なぜキュレーターが最初に作成されたのですか?私は、ZooKeeperコードを直接書くのではなく、キュレーターのあらかじめ作成されたレシピを使用することを強くお勧めします。 – Randgalt

関連する問題