Atomikos vs JOTM vs Bitronix vs?

发布于 2024-09-04 06:34:09 字数 1432 浏览 10 评论 0原文

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

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

发布评论

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

评论(2

金兰素衣 2024-09-11 06:34:09

我是 JTA 的新手,它是底层事务管理器。谁能解释一下其中每一个的优点/缺点?请随意添加我未在标题中列出的其他内容。

我知道的独立事务管理器包括 BitronixSimpleJTATyrex(死了?), JOTM(用于乔纳斯),GeronimoTM/Jencks(在 Geronimo 中使用)、JBossTS (在 JBoss 中使用)和 Atomikos

我从未对它们进行过广泛的测试(如果你必须选择其中一个,这就是你必须做的),所以我无法提供详尽的优点/缺点(这需要一些工作)。但这里有一些链接:

以防万一,这是我个人的观点:

  • 我见过很多关于 JOTM 的抱怨。
  • 我认为 GeronimoTM/Jencks 缺乏文档。
  • SimpleJTA 不实现 JTS 并且不活跃。
  • Bitronix 提供了不错的文档,但不提供支持。
  • Atomikos 是一款令人印象深刻的产品,有详细的文档记录并且确实提供支持。
  • JBossTS又名ArjunaTS绝对是一个成熟的产品(参见收购公告一些历史)并提供支持。

就我个人而言,如果我必须选择其中之一,我会入围 Atomikos 和 JBossTS,并对它们进行硬核测试。

此外,主要的应用程序服务器(WebSphere、JBoss、Glassfish)难道没有自己的符合 JTA 的事务管理器吗?

当然可以,JTA 是 Java EE 规范的一部分,Java EE 服务器必须支持它。

在这些环境中,您还会使用这些第三方实现吗?

不,我会使用提供的事务管理器(为了简单、支持等)。

I am new to JTA and it's underlying transaction managers. Can anyone explain the pros/cons of each of these? Feel free to add others I didn't list in title.

Standalone transaction managers I'm aware of include Bitronix, SimpleJTA, Tyrex (dead?), JOTM (used in Jonas), GeronimoTM/Jencks (used in Geronimo), JBossTS (used in JBoss) and Atomikos.

I've never tested them all extensively (and this is what you would have to do if you have to choose one) so I can't provide an exhaustive pros/cons (and that would require some work). But here are some links:

Just in case, here is my very personal point of view:

  • I've seen lots of complains about JOTM.
  • I think that GeronimoTM/Jencks lacks of documentation.
  • SimpleJTA doesn't implement JTS and is not active.
  • Bitronix is decently documentation but doesn't offer support.
  • Atomikos is an impressive product, well documented and does offer support.
  • JBossTS aka ArjunaTS is definitely a mature product (see the announcement of the acquisition for some history) and does offer support.

Personally, I'd shortlist Atomikos and JBossTS and test them hardcore if I had to choose one.

Also, don't the major applications servers (WebSphere, JBoss, Glassfish) have their own JTA compliant transaction manager?

Of course they do, JTA is part of the Java EE specification, a Java EE server has to support it.

In those environments, would you still use these third party implementations?

No, I'd use the provided transaction manager (for simplicity, support, etc).

古镇旧梦 2024-09-11 06:34:09

我已经用 Jetty 测试了 Atomikos 和 JOTM。 Atomikos 工作得很好,我完全推荐它。我做了自动化单元测试来测试我的应用程序中的分布式事务,这些测试工作得很好。

就 JOTM 而言,我非常确定它至少有时会伪造两阶段提交协议。我有一个 PostgreSQL 数据库,关闭了两阶段提交功能,JOTM 能够像我有真正的分布式事务一样工作。真实的事务管理器(例如,在 GlassFish 中实现的事务管理器)在这种情况下会报告错误。

如果重要的话,我在我的应用程序中将 JPA2 与 Hibernate 4 一起使用。

I have tested Atomikos and JOTM with Jetty. Atomikos worked fine and I fully recommend it. I made e.g. automated unit tests for testing distributed transactions in my application and these tests worked fine.

As far as JOTM is concerned I am quite sure that it fakes the 2-phase commit protocol at least sometimes. I had a PostgreSQL database with the 2-phase commit capabilities turned off and JOTM was able to work as if I had real distributed transactions. Real transaction managers (e.g. the one implemented in GlassFish) reported an error in such a case.

I used JPA2 with Hibernate 4 in my application if it matters.

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