如何在j2ee中实现长时间运行的分布式事务

发布于 2024-12-19 01:44:17 字数 150 浏览 2 评论 0原文

我想将记录从一个数据库移动到位于不同机器上的另一个数据库。应自动从第一个数据库中删除记录并将其插入到第二个数据库中。

我们可以使用 xa 吗? 我相信xa使用两阶段提交算法,该算法需要对目标数据库是EIS数据库的资源进行阻塞锁定

,因此应该锁定最短时间。

I want to move records from one database to another which are on different machines. the records should be removed from first database and inserted to second database atomically.

can we use xa ?
i believe xa uses 2 phase commit algorithm which requires the blocking locks on the resources

the target database is a EIS database, so it should be locked for minimum time.

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

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

发布评论

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

评论(2

微凉徒眸意 2024-12-26 01:44:17

XA 确实是一个两阶段提交阻塞协议,但在我的例子中,只有两个实体,第一个实体非常快。所以 2PC 对我来说会高效地工作。

对于更一般的场景,可以使用三阶段提交。这是一个非阻塞协议。虽然没有'似乎有任何java规范。

还遇到了 BTP 和 http://jotm.objectweb.org/jotm-btp.html
不确定它与 JDBC 适配器融合起来有多容易。

XA is indeed a 2 phase commit blocking protocol, but in my case there are only two entities involed with the first entity being very fast. so 2PC will work efficiently for me.

for a more general scenario 3 phase commit can be used. it's a non-blocking protocol. though dont' seems to have any java specifications.

also came across BTP and http://jotm.objectweb.org/jotm-btp.html
not sure how easily it can fused with JDBC adapter.

給妳壹絲溫柔 2024-12-26 01:44:17

XA 对锁定机制没有任何影响。它只是确保即使您更新两个单独的事务资源也保留 ACIDity。如果我理解正确的话,您的用例仅更新一个,因此这里不需要 XA。

XA doesn't have any incidence on the locking mechanism. It just makes sure that ACIDity is preserved even if you update two separate transactional resources. Your usecase only updates one, if I understand correctly, so XA is not necessary here.

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