如果 XAResource 是 Tx 中涉及的唯一资源,则应调用 XAResource.prepare()

发布于 2024-10-14 05:47:01 字数 294 浏览 6 评论 0原文

我正在尝试使用 JOTM 进行一些操作,并且有一些关于其工作原理的一般性问题。我列出了事件的顺序,以便对所发生的事情有一个明确的总结。

  1. create tx
  2. enlist resource
  3. tx.commit
  4. resource.start
  5. resource.end
  6. resource.commit

为什么从不调用resource.prepare,并且提交标志(onephase)为true。这是此类用例的预期行为吗?

I am trying out a few things w/ JOTM and have some general purpose questions regarding how things work. I have listed the sequence of events to get a definitive summary of what happens.

  1. create tx
  2. enlist resource
  3. tx.commit
  4. resource.start
  5. resource.end
  6. resource.commit

Why is resource.prepare never called and the flag to commit (onephase) is true. Is this the intended behaviour for such use cases ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝梦月影 2024-10-21 05:47:01

为什么resource.prepare从未被调用并且提交(onephase)标志为true

XA 规范第 2.3.2 节:

单相提交
如果 TM 知道在任何地方都只有一个 RM,则它可以使用单阶段提交
对共享资源进行更改的 DTP 系统。在本次优化中,
TM 在未进行第 1 阶段准备的情况下发出第 2 阶段提交请求
要求。

这是此类用例的预期行为吗?

是的

Why is resource.prepare never called and the flag to commit (onephase) is true

XA specification section 2.3.2:

One-phase Commit
A TM can use one-phase commit if it knows that there is only one RM anywhere in
the DTP system that is making changes to shared resources. In this optimisation,
the TM makes its Phase 2 commit request without having made a Phase 1 prepare
request.

Is this the intended behaviour for such use cases ?

yes

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文