了解 JTA Spring 和 Bitronix

发布于 2024-10-19 14:38:10 字数 76 浏览 4 评论 0原文

我想了解 JTA、Spring 和 Bitronix 之间有什么区别?

Hibernate 持久化中的事务应该使用什么?

I am trying to understand what is the difference between JTA, Spring and Bitronix?

What should I use for transactions in Hibernate persistence?

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

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

发布评论

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

评论(2

骄傲 2024-10-26 14:38:10
  • JTA 是一个用于分布式事务管理的 API。它可以作为应用程序服务器的一部分来实现,也可以作为独立的事务管理器来实现。

  • Bitronix 事务管理器是 JTA 的独立实现。

  • Spring 是一个为事务管理提供(以及其他功能)统一接口的框架。特别是,Spring 管理的事务可以使用 JTA 实现作为后端。

换句话说,在典型的 Spring 和 Hibernate 应用程序中,您使用 Spring 事务支持来管理事务,并且 Spring 配置为使用后端事务管理器之一:

  • 如果您不需要分布式事务,请使用 Hibernate 自己的事务支持(HibernateTransactionManager< /code>)
  • 如果您需要分布式事务,请使用 JTA 事务 (JtaTransactionManager)。尤其:
    • 在成熟的应用程序服务器上 JtaTransactionManager 使用内置 JTA 实现
    • 在独立环境(如Tomcat等)中,您需要配置独立的JTA实现,如Bitronix。
  • JTA is an API for distributed transaction management. It can be implemented as part of application server or as a standalone transaction manager.

  • Bitronix Transaction Manager is a standalone implementation of JTA.

  • Spring is a framework that provides (among other features) unified interface for transaction management. In particular, Spring-managed transaction can use JTA implementation as a backend.

In other words, in a typical Spring and Hibernate application you manage transactions using Spring transaction support, and Spring is configured to use one of backend transaction managers:

  • If you don't need distributed transactions use Hibernate's own transaction support (HibernateTransactionManager)
  • If you need distributed transactions use JTA transactions (JtaTransactionManager). In particular:
    • On a full-blown application server JtaTransactionManager uses built-in JTA implementation
    • In standalone environment (such as Tomcat, etc) you need to configure standalone JTA implementation such as Bitronix.
玩套路吗 2024-10-26 14:38:10
  • JTA 是一个 Java 事务 API。通过使用JTA,我们可以进行全局事务。
  • Bitronix是一个帮助实现JTA的软件。它还有助于以序列化方式将数据存储到数据库中。

例如,当执行任何交易操作时,在同一时刻,应从一个帐户中扣除金额并添加到另一个帐户中。但有时如果第二次操作失败,则它不会回滚事务。它还有助于避免死锁情况。

  • JTA is a java transaction api. By using JTA, we can perform global transaction.
  • Bitronix is a software which helps to implement JTA. And also it helps to store data into database in a serialized way.

For example, when any transaction operation performed, at the same instant of time, amount should be deducted from one account and added in another account. But some time if second operation fails, then it does not rolled back the transaction. It also helps to avoid deadlock situation.

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