问题标签 [atomikos]

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 投票
1 回答
2821 浏览

mysql - atomikos 连接关闭且自动重新连接不起作用

我的应用程序(在 Tomcat 服务器上运行)使用 atomikos 连接池与 mysql 数据库连接。一切正常,除了如果让应用程序服务器几个小时不使用连接将被关闭。以下是发生这种情况后再次操作应用服务器时收到的错误消息:

我确实在我的 jndi 参数中将 autoReconnect 设置为 true,但看起来它不起作用。

我也在mysql端设置了日志,发现测试查询(select 1)实际上没有发送到mysql,因为连接被关闭了。现在,当问题发生时,我必须每天早上重新启动应用程序服务器。

有什么想法吗?

谢谢

0 投票
1 回答
1105 浏览

java - 在一个全局事务的范围内,使用 JTA 对不同的数据源同时调用几个查询

我有一个带有 3 个分布式数据源(com.atomikos.jdbc.AtomikosDataSourceBean)的应用程序。我正在使用 Atomikos 事务管理器作为 JTA 实现。每个数据源都适用于 PostgreSQL 数据库。现在,我依次对每个数据源调用我的查询,一切正常。

我想知道,是否可以使用 JTA 并行调用我的查询(多线程,并发)?

我尝试使用 jdbcTemplate (Spring) 在新创建的线程中简单地调用查询。首先,我遇到了一个春天的问题。Spring 将事务上下文存储在 ThreadLocal 字段中,因此在我的新线程(Spring 事务管理器和多线程)中没有正确解析)。我通过将相同的事务上下文设置到新创建的线程的 ThreadLocal 中解决了这个问题。但是我在 Atomikos 代码中遇到的同样的问题。它们还将 CompositeTransactionImp 存储在线程范围映射 (BaseTrancationManager#getCurrentTx) 中。但在 Atomikos 的情况下,不可能为新线程设置值。所以我不能同时执行我的查询,因为 Atomikos 似乎不支持这种方法。但我也查看了 JTA 规范,发现它们如下:“多个线程可能同时与同一个全局事务相关联。” (“3.2 TransactionManager 接口”,http://download.oracle.com/otndocs/jcp/jta-1.1-spec-oth-JSpec/?submit=Download

问题:如何在一个全局事务的范围内使用 JTA(2 阶段提交)同时调用两个或多个对不同数据源的查询?

Tomcat 上下文中的 DataSources 配置:

Spring上下文中的事务管理器配置:

代码:

0 投票
3 回答
1572 浏览

database - atomikos 事务日志的用途是什么?

我继承了一个应用程序,该应用程序使用 Atomikos 在 Oracle 数据库之上的 Spring 中进行事务处理。在生产部署中,事务日志始终通过设置 com.atomikos.icatch.enable_logging=true 来启用,但事实是我找不到任何关于这些日志的确切用途的信息。

atomikos 网站声明“这不应该在生产中禁用,否则无法保证数据完整性”,我在该网站的 jta.properties 中发现了一条评论,说如果它是“重启或崩溃后有丢失数据的风险”禁用。

我们没有在我们的开发环境中启用此功能,并且能够正常使用该应用程序。我认为它们可能会在应用程序崩溃的情况下使用,但如果是这样,我不确定它们将如何使用。也许在下次启动时自动或以某种方式手动?在数据完整性方面,我知道 Oracle 可以实现它自己的数据恢复,但也许这些事务日志包含 Oracle 尚未看到的数据,例如,如果 Spring 崩溃。

0 投票
1 回答
1090 浏览

spring - Spring / Hibernate 4(non JPA) / Infinispan / Atomikos 找不到事务管理器

我正在使用 Tomcat7 并且需要 JTA 用于 Infinispan 缓存。我将 Spring 3.x 与 Hibernate 4(非 JPA)和 Atomikos 用于 JTA。我在 Atomikos 库或 Hibernate 4 的文档中找不到事务管理器查找类。所有示例均适用于 Hibernate 版本 3 或使用 JPA。Infinispan 找不到事务管理器。

这是我的配置:

0 投票
5 回答
13218 浏览

hibernate - 如何在 Hibernate >= 4.3 中使用 Atomikos Transaction Essentials

我从 Hibernate 4.2 切换到 Hibernate 4.3,我的项目不再工作了。我得到一个

HibernateException:无法定位当前的 JTA 事务

当我做

我已经意识到 org.hibernate.transaction.TransactionManagerLookup 不再存在。它在 Hibernate 4.3 中被删除。我应该如何更改我当前的配置?

0 投票
1 回答
2927 浏览

spring - 使用 Spring Data 和 Spring JPA 的 Atomikos - 持久性问题

我们正在尝试为我们的新项目设置新的 JTA 事务配置。该项目使用 spring JPA 和 spring Data 以及 atomikos JTA 事务管理器。

正如我们在其中一个 atomikos 教程中看到的那样,我们配置了我们的 xml。

目前我们成功地启动了我们的服务器,没有错误。

问题是当我们尝试在 @Transactional 服务中使用 jpaRepository 持久化实体时,我们的日志显示 atomikos jta tranascion 正在发生并提交成功。但是我们的数据库现在在表中显示了新条目。

当 2 个 bean 扫描相同的包并导致像上面那样的“psuedo persist”效果之前,我们也遇到过类似的问题。

这是我们的xml:

任何想法这个配置文件有什么问题?

谢谢!

0 投票
7 回答
9811 浏览

java - 奇怪的 Atomikos 异常 - init() 中的错误:日志已在使用中?

我们正在尝试在多个本地环境中运行使用 Atomikos 作为事务管理器的相同 Web 应用程序(每个环境都使用相同版本的 spring、atomikos、tomact 等以及相同的配置文件)。其中一些工作正常,但在其中一个中,当我们尝试启动 tomcat 时,我们得到以下异常:

我们无法弄清楚有问题的日志是什么,谷歌也没有太多帮助......有人知道这个奇怪问题的原因是什么吗?同样,我们的环境具有完全相同的配置,可以正常工作,另一个环境有另一个奇怪的警告: https ://stackoverflow.com/questions/20936253/atomikos-with-activemq-commit-heuristic-warnings

谢谢!:)

0 投票
1 回答
4413 浏览

activemq - 带有 JMS 主题的 ActiveMQ - 一些消息未被消费者出列

我们正在尝试将 ActiveMQ 5.9.0 设置为使用 JMS 主题的消息代理,但我们在使用消息时遇到了一些问题。

出于测试目的,我们有 1 个主题、1 个事件生产者和 1 个消费者的简单配置。我们一个接一个地发送 10 条消息,但是每次运行应用程序时,其中 1-3 条消息没有被消费!其他消息被消费并处理得很好。我们可以在 ActiveMQ 管理控制台中看到我们发布到主题的所有消息,但它们永远不会到达消费者,即使我们重新启动应用程序(我们可以看到“入队”和“出队”列中的数字是不同的)。

编辑:我还应该提到,当使用队列而不是主题时,不会出现这个问题。

为什么会这样?它可能与atomikos(即事务管理器)有关吗?或者也许配置中的其他东西?欢迎任何想法/建议。:)

这是 ActiveMQ/JMS 弹簧配置:

制作人:

消费者:

考试:

0 投票
2 回答
12637 浏览

spring - Spring data - 同一事务上的两个不同数据源导致异常

我们将 atomikos JTA 与 spring 和 2 个不同的 mysql 数据源一起使用。

我们遇到了问题,

当我们在同一个 @Transactional 方法上使用两个不同的存储库(2 个不同的数据源)时,我们会得到一个错误:

当第二个存储库对数据源执行某些操作时,就会发生这种情况。

我们认为这与事务管理器(atomikos jta)有关,当同一事务中涉及 2 个不同的数据源时可能会出现问题。

这是数据源xml:

和 transaction.xml :

* 编辑 (19.01.2014) *

因此,根据 M. Deinum 的帮助,我们设法使错误消失,但现在没有发生实际事务(例如,没有回滚)

这是我们的新配置:

数据源.xml:

交易.xml:

* 编辑 2014 年 1 月 20 日 *

我们设法让它工作,但启动时出现大量警告:

新的配置是:

0 投票
1 回答
287 浏览

grails - HSQL & Atomikos:不支持的内部操作:结果

我有一个配置为使用 Atomikos 插件来连接两个数据库的 Grails 应用程序。当我尝试在事务中更新两个数据库时,出现以下异常:

任何人都可以阐明为什么会这样吗?

谢谢!