问题标签 [jta]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1001 浏览

java - 是否可以在事务中使用多个持久性单元,而不是 XA?

我们的应用程序需要使用(只读)几个指向不同数据库(不同的商业供应商)的不同持久性单元。

我们没有预算在其中之一(Sybase)上启用 2pc。有没有办法在事务中使用它们而不必是 XA 事务?

我们使用 Websphere 6.1、Sybase 12.5.3、Oracle 10g、Java EE 5 和带有 Hibernate Entity Manager 的 JPA。

更新: oracle PU 每月很少更新 1 或 2 次,sybase PU 更新非常频繁——每天很多次。隔离绝对是后者的关注点,两者之间的一致性没有必要强制执行。

0 投票
4 回答
2819 浏览

java - 是否有针对 Java 中 XA 事务文件访问的开源解决方案?

是否可以对 Java 中的文件系统进行 XA 事务访问?我想在事务边界内操作文件,并且我的事务必须通过 JTA 参与分布式事务(所以我猜文件系统需要作为 XAResource 访问)。我不需要支持细粒度的读/写文件访问;将每个文件视为记录足以满足我的需求。

有人知道已经这样做的开源项目吗?我不想为了发现它已经完成而实施这个烂摊子......

我听到一些传言说 JBoss Transcations 会增加对此的支持(例如参见这个讨论),但找不到关于这个的官方声明。

顺便说一句,如果您需要事务文件访问但不需要事务参与两阶段提交,我建议您查看Apache Commons Transaction

可以在这里找到一篇关于所涉及的复杂性的好文章。

0 投票
1 回答
1122 浏览

hibernate - 如何让 hibernate-entitymanager 从 JBoss 中使用 JTA?

我正在构建一个用于容器外 EJB 测试的工具。我已经成功地在其中运行了 Hibernate 的 EntityManager。现在我想将它与 JTA 集成以实现对事务的严格控制。

我面临的问题如下: Hibernate 似乎需要 JNDI 才能与 JBossTS(JBoss 的 JTA 实现)一起正常工作。但我不知道如何UserTransaction在 JNDI 中注册 s 。

我在这里想念什么?如何配置 JBossTS 以使用 JBoss 之外的 Hibernate?有这方面的教程吗?

0 投票
1 回答
874 浏览

hibernate - Hibernate EntityManager + JOTM:不使用事务

我正在尝试将 JOTM 和 Hibernate EntityManager 集成在一起,以在事务方式环境中测试我的 EJB,但在容器外。

我的测试如下所示:

  1. 启动 JOTM
  2. 将 JOTM 的 UserTransaction 放入 JNDI
  3. 创建和配置 StandardXADataSource
  4. 将 DataSource 放入 JNDI
  5. 配置休眠并创建 EMF
  6. 创建一个 EM
  7. 开始交易
  8. 在 EM 中加入交易
  9. 存储实体
  10. 验证它是否已存储
  11. 回滚事务
  12. 检查数据库的记录数
  13. 撕毁一切

这是我的代码的样子: http: //pastebin.com/m22a9f6b

这是日志输出: http: //pastebin.com/m6da9383a

测试在第 12 步(第 121 行)失败。

如您所见,即使我已经回滚了事务,数据库中也有一条记录。似乎根本没有使用的事务和记录进入数据库。

你有什么想法是如何发生的以及如何解决它?

0 投票
4 回答
5264 浏览

java - Maven 构建环境中的 Atomikos + Jetty - 类加载器问题?

我正在开发一个具有多个 JDBC 数据源和 JTA 的项目。我使用 Maven 作为构建工具,我想在开发过程中使用 Jetty 插件(6.1.20)来运行应用程序。

我正在尝试将 Jetty 配置为使用Atomikos作为事务管理器。我正在关注 Jetty 的Atomikos 文档,但 Jetty 启动失败,看起来像是类加载器问题。

这是我的配置的相关位。

runtime我的范围依赖项pom.xml

jetty-env.xml位于/WEB-INF(由 Jetty 自动发现):

最后的实例化tx是失败的一点,如果我忽略它,Jetty 可以正常启动(但当然不会UserTransaction通过 JNDI 公开)。

堆栈跟踪:

这看起来像是一个类加载器问题,因为org.mortbay.jetty.plus.naming.TransactionConstructor 采用了javax.transaction.UserTransaction, 和com.atomikos.icatch.jta.UserTransactionImpimplements javax.transaction.UserTransaction,但 Jetty 抱怨它没有合适的构造函数来使用。

我显然在这里遗漏了一些东西,但它是什么?

谢谢!

0 投票
3 回答
2348 浏览

java - 在事务中进行无事务 EJB 调用

我会试着描述一下情况。我们有一个网络服务;在每个请求 Web 服务启动一个 JTA 事务。它通过其中的 XA 数据源执行几个数据库调用,并调用一些其他 Web 服务(在事务上下文之外),还在其他服务器上进行几个远程 EJB 调用。

问题是容器似乎试图将 EJB 纳入事务(这似乎合乎逻辑),但实际上我希望它不参与该事务,因为当它确实参与该事务时,它总是在最终提交阶段超时,但是当我排除 EJB 调用时它工作正常。

我不能更改 EJB 实现,只能控制 Web 服务代码。所以,我的问题是:如何对事务感知 EJB 进行 EJB 调用,但在我的 JTA 事务之外,但仍处于其他 XA 资源的 JTA 事务中?我希望我把我的问题说清楚了:)。

编辑:试图通过伪代码示例使其更清晰:

0 投票
1 回答
4469 浏览

hibernate - 单个EntityManager(Hibernate)可以参与多个并发事务吗?

有没有一种方法可以让一个 EntityManager 顺利参与多个并发事务?

好吧,不是那么并发。就像是:

  1. 开始发送 1
  2. 在 tx 1 中做事
  3. 开始发送 2
  4. 在 tx 2 中做事
  5. 提交 tx 2
  6. 加入 tx 1 回来
  7. 在 tx 1 中做事
  8. 提交 tx 1

一步一步地不重叠。

0 投票
3 回答
2880 浏览

java - 在 WebLogic 中获取 JTA 事务超时值

有没有办法获得 JTA 事务超时值?UserTransaction 接口只有 setTransactionTimeout 方法。是否有一种特定的方法可以在 WebLogic 中获取其价值?

0 投票
2 回答
2524 浏览

java - 模拟长时间运行的 Oracle DB 查询

在 Oracle DB 中运行需要很长时间(至少几分钟)的数据库查询的最简单(最好不创建任何新表)方法是什么?

0 投票
3 回答
955 浏览

java - 管理交易的最佳方式

我有基于 JBoss 和 Hibernate 的系统。我需要处理两个长时间的操作。操作可能比事务的超时时间长。它的操作是在两个不同的事务中持续存在许多实体。如果出现问题,在此操作期间,我应该回滚事务的所有更改。

解决它的最佳方法是什么?

我认为,最好的方法是将所有操作合并到一个事务中,但它需要设置 LOng 事务超时,这对我们的系统来说是不可接受的。

在这种情况下管理许多事务是否更好。我该怎么做?