问题标签 [bitronix]

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 回答
2207 浏览

java - Why isn't bitronix (BTM) binding the user transaction into JNDI?

Looks like Bitronix, as suggested elsewhere, works very well. However, I'm stumped by a problem with it. I get this exception from Hibernate, when I attempt to save the session after I call TransactionManager.begin():

I can't see any evidence that Bitronix binds the user transaction to JNDI. How do I make it do that?

0 投票
1 回答
1435 浏览

java - 是否可以在没有 BTM 的情况下使用 bitronix PoolingDataSource?

是否可以在bitronix.tm.resource.jdbc.PoolingDataSource 使用 bitronix 事务管理器并使用独立JBossTS的情况下使用?

对于数据库访问,我使用 Hibernate,使用 Spring 的@Transactional注释(或TransactionTemplate具有类似实现的 Spring)完成事务划分。PoolingDataSource并且在测试中使用了独立的 JBossTS,但是我不想放弃数据库连接池。

如果不可能,还有什么其他池数据源适合这里?其他一些问题表明 c3p0 不是一种选择。这是真的吗?

0 投票
1 回答
1236 浏览

java - 将 Guice Persist 与 JTA / bitronix 一起使用时遇到问题

我们有一个已经使用 JPA 和 guice-persist 的现有 j2se 项目。现在,因为我们要添加 JMS 功能,所以需要 2-phase-commit 和 JTA。我们将使用 bitronix 事务管理器,因为没有容器(如 spring)。

据我了解,我们要做的第一件事就是将持久化单元的事务类型从RESSOURCE-LOCAL更改为JTA,因为我们希望数据库事务投票支持提交而不是提交。收集所有选票后,提交在第 2 阶段完成。

使用 guice-persist,我们将@Transactional注解用于应该在单个事务中运行的方法。提供JPAPersistModule了一个 EnitiyManagerFactory ,它用于 guice-persist 内部类,就像JpaLocalTxnInterceptor包装了带注释的方法一样。

现在我得到了例外

因为对提供的实体管理器的JpaLocalTxnInterceptor调用。getTransaction()

我现在很困惑。有什么方法可以将 guice-persist 与 JTA 一起使用,或者我们真的必须从项目中删除 guice-persist 吗?或者,如果我们想做 JTA(使用 Bitronix),是否有任何替代 guice-persist 的方法?

0 投票
2 回答
688 浏览

spring - Spring 集成 + 事务 + Bitronix

我有一个基于 Java 的 Web 应用程序。我正在使用 Spring Integration 与数据库(Jpa 出站适配器)和 Tibco EMS(JMS 出站适配器)集成。但是,现在我需要在需要相同消息的地方放置一些代码 1. 持久保存在数据库中和 2. 通过 JMS 发送。

问题是这些活动(1 和 2)需要在事务中发生。要么两者都发生,要么都没有。我正在尝试使用Bitronix来实现这一目标。但是到目前为止,我还没有完成它。我收到错误,用简单的英语表示(请原谅我的翻译)“我们无法在 XA 交易之外实现交易。

有没有人尝试过这个。任何帮助将不胜感激。

谢谢,

0 投票
3 回答
1815 浏览

java - 如何在提交时使用 JTA 确认 JMS 消息?

我在 JTA、两阶段提交、JMS 和 JDBC 事务中苦苦挣扎。这个想法是(简而言之)

  1. 在队列中接收消息
  2. 执行一些数据库操作
  3. 确认消息,当数据库操作成功时

所以我得到了XAQueueConnectionFactory,创建了XAQueueSession,从会话中创建了一个接收器并设置了一个消息监听器。

在侦听器内部,在onMessage方法中,我开始我的用户事务,执行 jdbc 内容并提交事务或执行回滚,如果出现问题。现在我预计(又名“希望”)当用户事务提交时消息会被确认。

但这并没有发生,消息仍在队列中,并且一次又一次地重新传递。

我错过了什么?我仔细检查了会话,确认模式确实是“ SESSION_TRANSACTED”并getTransacted返回 true。

我没有 Java EE 容器,没有 spring,没有消息驱动 bean。我使用独立的 JTA bitronix。

0 投票
1 回答
2916 浏览

spring - 使用 jparepository 的 junit 测试未在数据库中创建对象

我正在使用 Spring 3.2.1.RELEASE、Hibernate 4.1.9.FINAL 作为 jpa 提供程序、spring data 1.2.0.RELEASE 用于存储库和 bitronix 2.1.3 作为事务管理器来启动一个项目。我对所有这些技术都是新手,所以如果我遗漏了一些重要的观点,我很抱歉。

我正在运行一个简单的单元测试来在数据库中创建一个用户对象:

我使用的 test-context.xml 如下:

Repository 实现是一个标准的 JPARepository:

并且服务实现只调用存储库:

问题是当我执行测试时,它通过了,但没有在数据库中创建用户。我认为这可能是因为回滚行为,所以我在用户测试中设置了 defaultRollback=false。以下是事务框架在设置为 DEBUG 时提供的一些可能相关的信息:

日志显示 testException=[null] 但我不知道为什么会这样。我什至尝试使用 JPARepository 提供的 saveAndFlush() 方法但是这样做我得到了错误javax.persistence.TransactionRequiredException: no transaction is in progress 所以如果有人知道我我做错了,可以为我指明正确的方向,我将非常感谢您的帮助。

0 投票
1 回答
746 浏览

oracle - Spring 事务不适用于 Oracle Express

我有一个简单的独立应用程序来测试 Spring 的事务管理。拥有 Oracle Express Edition。运行以下命令以启用 XA

我的 Java 代码大致如下:

所以所有的想法都是看到事务回滚。我运行了几个配置示例,并且记录一直被提交。不执行回滚。没有错误没有,只有预期

我的最后一个配置是这样的:

0 投票
1 回答
901 浏览

activemq - 获取错误:无法提交在 activemq 中的全局事务中登记的资源

您能否帮助解决 Activemq 和 Oracle 和 Bitronix 上的 XA 事务问题。我有一个activemq,并使用嵌入的camel.xml 将消息从一个队列路由到oracle db。这是独立Activemq的conf文件夹中camel.xml文件的内容。

当我运行 Activemq 并向 example.A 队列发送消息时,没有在 db 上插入任何内容并且消息从队列中出列,我在 activemq 日志中收到此错误:[org.apache.camel.RuntimeCamelException - java.sql.SQLException: cannot提交在全局事务中登记的资源]


我还为 Oracle 数据库运行了这些 SQL 脚本:

以及以下赠款声明:

欢迎任何想法/解决方案!谢谢

0 投票
1 回答
1492 浏览

oracle11g - Bitronix 连接重置问题

部署到我们的 linux 环境时,我似乎得到了这个错误,不知道这是什么意思

请有人可以帮我解释和可能的解决方法吗?

java.sql.SQLException:无法从包含具有 1 个连接的资源 actdb 的 XAPool 的 PoolingDataSource 池中获取连接.....(0 仍然可用)位于 bitronix.tm.resource.jdbc.PoolingDataSource.getConnection (PoolingDataSource.java:262) ~[btm-2.1.3.jar:2.1.3] at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) ~[spring-jdbc-3.1.2. RELEASE.jar:3.1.2.RELEASE] 引起:java.sql.SQLException:IO 错误:连接重置在 oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:428) ~[ojdbc5-11.2.0.2.jar :11.2.0.2.0] 在 oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:536) ~[ojdbc5-11.2.0.2.jar:11.2.0.2.0] 在 oracle.jdbc.driver.T4CConnection.(T4CConnection .java:228) ~[ojdbc5-11.2.0.2.jar:11.2.0.2.0] 在 oracle.jdbc.driver。T4CDriverExtension.getConnection(T4CDriverExtension.java:32) ~[ojdbc5-11.2.0.2.jar:11.2.

0 投票
2 回答
1191 浏览

java - H2 数据库/Bitronix w/o Java EE

对于功能的简单测试(按照教程),我尝试使用 Bitronix 和 H2 内存数据库设置原始 JTA 环境。该测试应该在一个简单的 Java 应用程序(没有 Java EE、没有服务器等)中作为单元测试运行

不幸的是,我没有让它运行,这是我的设置:

  1. 我按照教程添加了一些罐子(通过 maven):

    • btm、h2、hibernate-entitymanager 和 hibernate-jpa-2.0-api
  2. 我在类路径中添加了 persistence.xml、hibernate.cfg.xml 和 jndi.properties 文件。

  3. 在测试方法(脏...)中,我输入了以下代码:

    /li>

这是我的 persistence.xml 配置:

而 jndi.properties:java.naming.factory.initial=bitronix.tm.jndi.BitronixInitialContextFactory

问题是:我得到了这个堆栈:

所以这里肯定有问题。你能帮助我吗?