問題タブ [apache-curator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
572 参照

java - ApplicationContextInitializer に相当するシャットダウン

ApplicationContextInitializer実装で使用されているリソースを完全にシャットダウンするにはどうすればよいですか?

ApplicationContextInitializerCurator プロジェクトを使用して Zookeeper に接続し、プロパティ ファイルを取得する実装を作成しました。Properties次に、インスタンス aを作成し、それをPropertiesPropertySourceコンテキストに追加します。

close()アプリケーションがシャットダウンしたときに、初期化子のメンバーであったCuratorFrameworkインスタンスを呼び出せるようにしたいと考えています。これはどのように行うのが最善ですか?

Bean として使用できるように、CuratorFrameworkインスタンスコンテキストに渡すこともできますか?

0 投票する
1 に答える
14142 参照

java - Curator を使用して Zookeeper にパスが存在するかどうかを確認するにはどうすればよいですか?

私は現在、Zookeeper のものをアプリに統合するための開発の初期段階にあります。Zookeeper を扱うための API として Netflix の Curator を使用しています。私はそのほとんどの要点を理解しています (ZNode の追加など)。

しかし、ZNode が存在するかどうかを確認するにはどうすればよいでしょうか。動作するように見えるコードは次のとおりです。

...clientのインスタンスはどこですかcom.netflix.curator.framework.CuratorFramework

ただし、この呼び出しはオブジェクトを返しorg.apache.zookeeper.data.Statます。

このオブジェクトを使用して、パスが存在するかどうかをどのように確認できますか?

ありがとう

0 投票する
1 に答える
1025 参照

java - キュレーター: トランザクションのコミット

Apache Curator の CuratorFramework クラスのインスタンスにより、ミューテーション操作を実行できますinTransaction()。現在これらの呼び出しを使用していますが、コミットする方法がわかりません。

CuratorTransaction JavaDocを見ると、次のように明確に述べられています。

重要:が呼び出される
     まで、操作は送信されません。CuratorTransactionFinal.commit()

ただし、CuratorTransactionFinalクラスを実装していないインターフェイスです(私が見つけることができます)。

それを実装し、の機能を定義することは期待されていますcommit()か?
それとも、より大きな概念が欠けていますか?

0 投票する
1 に答える
6571 参照

apache-zookeeper - Curator はいつ、なぜ ConnectionLossException をスローするのですか?

私は Curator 1.2.4 を使用していますがConnectionLossException、1 つの znode の子の変更を監視したいときに取得し続けます。

次に、このようなウォッチャーを実装しました

が 10 秒に設定されているConnectionLossException場合、コードは 11 秒ごとにスローします。connectionTimeout例外はconnectionTimeoutプラス1秒のようです。なんで?

GetChildrenBuilderImpl が、1 秒ごとに接続状態をチェックする CuratorZookeeperClient の blockUntilConnectedOrTimeout メソッドを呼び出すことが判明したソース コードを確認しました。

0 投票する
1 に答える
305 参照

apache-zookeeper - 飼育係の初期発見

レプリケートされたネーミング サービスとしてApache Zookeeper (またはCurator )を使用したいと考えています。3 つの Zookeeper サーバーを実行していて、これらのサーバーに接続できるさまざまなアプリケーションを備えた多数のコンピューターがあるとします。

ZooKeeper の IP アドレスをクライアントに伝えるにはどうすればよいですか? 各マシンに手動で配布する必要がある構成ファイルは?

Corba Naming サービスには、構成ファイルが不要な UDP ブロードキャスト検出のオプションがありました。Zookeeperにも同様の可能性はありますか?

0 投票する
1 に答える
1487 参照

transactions - zkClient.multi() を使用すると、ZooKeeper Java クライアント コードがハングする

私が欲しいもの:

  1. ZooKeeper でトランザクションを使用できるようにしたい
  2. 私は彼らが実際に完了することを望みます

ここで、最初に Apache (旧 Netflix) Curator ライブラリを使用してみましたが、例に従ってトランザクションを実行すると、次のようになります。

そして、そこに行き詰まるだけです(トランザクションにはアイテムが1つしかないため、txnは不要ですが、物事をシンプルに保とうとしています)。そこで、未加工の ZooKeeper API を使用して、より完全なテスト シナリオを作成することにしました。

また、印刷後に死人のようにぶら下がっています

Zookeeper サーバーに関しては、1 つのノードとして実行されているため、他のノードと競合する必要はありません。/foo はツリーに表示されません-zooinspectorを使用して確認します。トランザクションなしで ZK を使用すると、すべて正常に動作します。私は webz を探し回りましたが、関連するものは何も見つかりませんでした。明らかな何かが欠けていますか?

0 投票する
2 に答える
1381 参照

java - Curator トランザクション ランタイムの構築

ZooKeeperのApache Curator ライブラリは、優れた「流れるような」構文を使用します。たとえば、トランザクション内の複数のノードを変更するには、コードは次のようになります。

これはうまく機能し、私見ですが、非常に読みやすいコードを生成します。しかし、トランザクションで一連の ZNode を変更しなければならない状況があります。いくつのノード、またはどのノードを変更する必要があるかは、実行時までわかりません。したがって、流暢な構文を簡単に使用できるとは思いません。ドキュメントを見ると、各流暢なメソッド呼び出しが返すプロキシ オブジェクトを手動で管理できますが、コードでは 、 、 などを明示的に使用する必要CuratorTransactionTransactionSetDataBuilderありCuratorTransactionBridgeます。

Curator でトランザクションを行う非流暢な方法は見当たりません。実行時にトランザクションを構築するための「良い」方法があるかどうか、および/またはあるかどうかを知っている人はいますか? 具体的には、Map<String, String>ZNode パスからその ZNode で終了する必要があるデータへのマッピングが与えられた場合、すべてのノードをどのようにトランザクション的に設定しますか?