问题标签 [transactionmanager]

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 投票
3 回答
5078 浏览

tomcat - 如何在Tomcat中集成Geronimo的事务管理器?

Geronimo 是否提供独立的事务管理器?如果可以,是否可以在 Tomcat 中使用它?

0 投票
5 回答
25605 浏览

jta - 什么是好的开源 Java SE JTA TransactionManager 实现?

基本上,它在锡上写的是什么;我需要一个可在 Java SE 应用程序中使用的 JTA 实现,理想情况下,它不会带来太多的框架负担。

0 投票
3 回答
463 浏览

java - Spring DatasourceTransaction Manager 问题

我的事务管理器逻辑有问题吗?看起来很不稳定。当我插入新数据时,第一次似乎保存,后来我在 mysql 数据库中找不到数据。请帮忙。非常感谢。

0 投票
1 回答
1140 浏览

spring - 如何使用带有注释的事务顾问?

假设我有以下示例:

在我的应用程序上下文中:

好的,现在如果抛出 SQLException,我想在事务回滚后添加一个拦截器。我怎样才能做到这一点?

提前致谢

编辑

我将尝试澄清我正在尝试做的事情:

我有一个 WS,它在数据库上保留一些信息并返回一个响应(如果出现问题,一个 isOk 布尔值和一个 errorMessage)

每当出现异常时,我需要:

  • 回滚事务
  • 使用错误消息构建响应并将其返回给客户端。

这就像 spring 的事务代理的 try/catch

0 投票
1 回答
1036 浏览

hibernate - Spring自动打开另一个事务管理器?

我有两个数据库,有两组弹簧配置:下层是COREdb,上层是APPdb。

每个 db 都有它的 persistenceUnit 、 entityManagerFactory 、 transactionManager ,并附加了 db 名称,例如 "entityManagerFactoryApp" 、 "transactionManagerCore" ...

现在,我有一个 Service 类,在 APP 中包装了一些 DAO,在 CORE 中包装了一些。但我发现我无法在测试中提交 CORE 的 DAO:

这是我的服务类:

这是我的测试课:

我知道我不能提交 CORE 的 DAO 的原因是因为测试类的 @TransactionConfiguration 是 " transactionManagerApp" ,而不是 " transactionManagerCore" 。因此,CORE 的 DAO 中的任何 CREATE/UPDATE/DELETE 操作都不会被提交。但是我不能同时启用两个 txManager(有什么办法吗?)

所以,我修改了我的服务类:

是的,它有效!但这不是我想要的!因为它引入了很多冗余代码(session、tx、commit...)。

而且......还有另一种方法,从服务中删除会话/EntityManagerFactoryUtils,并将它们移动到测试类:

它也有效,但也同样丑陋!

现在,我的问题是,Spring 有没有办法自动打开相关的 transactionManager(s) 并开始/结束 tx?

PS:我注意到这一点:10.5.6.2 Multiple Transaction Managers with @Transactional,但似乎不符合我的要求:在ONE方法中打开另一个 txManager。

环境:spring-3.0.5,hibernate-3.6.0,JPA2

- 更新 -

感谢@Bozho 告诉我调用一个新的@Transactional(value="txMgrName") 方法,我试过了,但仍然失败:

这是我的服务代码:

在 core.xml 中:

它仍然失败,coreDao 仍然没有保存任何内容。我想可能是因为该方法是私有的,而不是被 Spring 拦截。所以我将方法提取到接口/实现级别:

但是还是失败了!事实上,我发现spring跳过了someCoreMethod()中的@Transactional注解

我什至可以用 WRONG txManager 注释 @Transactional(value=" non-existence-txManager-name ") ,并且 Spring 不会报告任何错误(并且什么也不提交)!

我错过了什么吗?

0 投票
2 回答
69208 浏览

java - Spring - 是否可以在同一个应用程序中使用多个事务管理器?

我是 Spring 新手,我想知道是否可以在同一个应用程序中使用多个事务管理器?

我有两个数据访问层 - 一个用于两个数据库。我想知道,您如何将一个事务管理器用于一层,而将不同的事务管理器用于另一层。我还不需要跨两个数据库执行事务。但我确实需要单独对每个数据库执行事务。我创建了一个图像来帮助概述我的问题:

替代文字

这是我的应用程序上下文配置:

以下是使用此配置的示例:

因此,对于帐户存储库,我想使用将持久性单元设置为帐户的实体管理器工厂。但是,对于我的 BusinessData Repository,我想使用具有不同持久性单元的实体管理器工厂。由于我只能定义一个事务管理器 bean,我该如何为不同的存储库使用不同的事务管理器?

谢谢你的帮助。

0 投票
1 回答
3285 浏览

java - 如何以编程方式获取 DAO 的 PlatformTransactionManager?

我正在开发一个带有 wicket 的通用 CRUD 应用程序,它可以使用 AbstractDao 模式的实现编辑任何 Spring/JPA 实体,例如 UserDaoImpl 、 ForumDaoImpl ...等

在我的检票口页面中:我必须使用 @SpringBean 来确定PlatformTransactionManager要使用的内容,例如:

问题是,这些 DAO 使用不同的事务管理器,例如transactionManagerUsertransactionManagerForum...等。

我无法在我的代码中硬编码这些 txManager 的名称。我必须以编程方式获取 dao 的 txManager 。如何做到这一点?

非常感谢 !

- - - - 更新 - - - -

好吧,我已经通过传递PlatformTransactionManager到 CRUD 页面解决了这个问题(并使用它transactionTemplate = new TransactionTemplate(platformTransactionManager)来生成一个 txTemplate ',并且效果很好。虽然没有直接解决问题,但无论如何,它可以工作。

0 投票
1 回答
143 浏览

.net - 阅读 .Net 中事务管理所需的资源

我需要为一个正在进行的项目研究一些基于 .Net 的事务管理。当我开始查看系统当前在做什么时,是否有人有任何在线阅读资源可以为我提供一些基础/背景参考?

我们谈论的事务是系统间/WCF 和 DB 调用的混合。

0 投票
2 回答
4254 浏览

hibernate - createCriteria 需要一个活动事务

我对一些 spring + hibernate 的东西有疑问。

错误:当调用 sessionFactory.getCurrentSession.createCriteria(...) 我得到这个:

org.hibernate.HibernateException:createCriteria 在 dao.UserDao.getUsers(UserDao.爪哇:35)

似乎是事务管理器的问题,但我无法弄清楚

0 投票
1 回答
1351 浏览

spring - Spring、XA 和 WebSphere

我试图让 XA 事务在 WebSphere v7 内的 Spring v3 应用程序中工作。

我的应用上下文内容如下:

我正在参考这篇文章,它说在 UOW txn 管理器中混合,你会没事的。但它不是那样工作的。相反,在下面的代码中,消息被破坏性地读取,并且在引发异常时不会回滚。

事务逻辑是(在 scala 中):

谁能建议我如何将 WebSphere 的 JTA 事务管理器与 Spring 一起使用?