3

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

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

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

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

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

4

1 に答える 1

3

ソースコードで見つけました:

CuratorFramework のインスタンスが「クライアント」と呼ばれると仮定します。

次のような操作を実行すると...

client.create().forPath("/foo");

...それはトランザクションではありません。出演すれば…

client.inTransaction().create.forPath("/foo");

...そうですが、トランザクションをコミットするまで、操作は実際には完了しません。これだけは知っていました。トランザクションをコミットするには、次のようにします。

client.inTransaction().create().forPath("/foo")
    .and().create().forPath("/bar")
    .and().commit();
于 2012-09-27T18:35:27.523 に答える