java - 通过 JTA 使用任意资源

标签 java jakarta-ee jta

是否可以使任何类型的自定义资源与 JTA 交互?让我们假设一个基本示例,并采用一个在出现错误时应回滚的文件夹创建。

可以处理这样的自定义资源吗?

最佳答案

是的。该资源需要提供 XAResource 的实现,并且该实现的一个实例需要是 enlisted with the transaction当资源被使用时。资源可以get the current transaction from the transaction manager以便在访问时进行注册(我认为)。

您可以查看 XADisk 的代码,这显然是一个 XA 事务文件管理器,看看它是如何在那里完成的。

但是,在 J2EE 世界中执行此操作的常见方法不是直接处理 JTA,而是使用 JCA 编写资源适配器,它让 J2EE 容器不仅可以处理事务,还可以处理池化、命名和各种其他企业细节。然而,JCA API 并不简单明了,尽管它很困难,但它是由堆积如山的更困难的文档来保护的,其主要目的似乎是阻止对它的理解!

关于java - 通过 JTA 使用任意资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6736241/

相关文章:

Java 如何在对象列表中保持唯一值

java - 如何查询指定日期起连续6天的情况?

java - 是否可以使用 ApplicationScoped bean 为 JSF 2 应用程序添加 richfaces 皮肤?

java - 资源本地到 JTA

jakarta-ee - 如何将 JPA 和 JTA 与事务管理器一起使用?

java - 持久化对象时出现 IllegalStateException

java - Lanterna SwingTerminal 不会显示

java - 为什么会出现 "No com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle registered with name: default"错误以及如何解决?

Java继承与OOP和AOP

java - 将 Maven java 应用程序作为依赖项的 Maven Web 项目?