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 回答