1

ドキュメントによると

CuratorFramework インスタンスは完全にスレッドセーフです。アプリケーションの ZooKeeper クラスタごとに 1 つの CuratorFramework を共有する必要があります。

また、他の操作を実行する前にstartメソッドを呼び出す必要があることも示しています。このメソッドは、すべての操作の前に呼び出す必要がありますか、それとも初期化後に 1 回呼び出すだけで十分ですか?

4

2 に答える 2

9

CuratorFramework インスタンスを作成した後、start を 1 回呼び出します。したがって、スタートアップは次のとおりです。

  • ファクトリ メソッドの 1 つを使用して CuratorFramework を作成します。
  • インスタンスで start() を呼び出す
  • 必要に応じて単一の CuratorFramework インスタンスを使用してアプリケーションを実行します
  • アプリケーションの最後に、インスタンスで close() を呼び出します

注: 私は Curator の主な作成者です

于 2013-12-05T21:58:00.350 に答える
1

最初のテストでは、作成されたクライアントごとにstartを 1 回だけ呼び出す必要があることが示されました。複数回呼び出すと、IllegalStateExceptionが発生しました。

于 2013-12-05T20:14:50.540 に答える