问题标签 [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 投票
1 回答
457 浏览

java - 一个 sessionFactory 的多个事务管理器

我有两个数据库使用相同的方案。

我的 hibernate 3.2/Spring 3 应用程序为每个数据库一个数据源(通过 jndi),每个数据源一个事务管理器(HibernateTransactionManager)。

问题:我可以使用会话工厂的一个实例,它应该使用与当前事务关联的数据源吗?

假设有以下方法。

交易经理:

0 投票
0 回答
423 浏览

web-services - Web 服务可以是有状态的吗?有状态 Web 服务的两个不同操作(来自同一个客户端)可以在同一个事务下吗?

我是有状态网络服务领域的新手。如果以下任何问题没有意义,请忽略。

  1. 我主要处理的是无状态 Web 服务。我心中的一个问题是,我们能否通过 XML API 将会话 ID 传递给 Web 服务。是否已经为此提供了规定(使其成为有状态的)?调用 Web 服务的 Java-XML api 是否有使用 cookie 的规定?

  2. RESTful Web 服务是有状态的吗?这就是它们被称为 RESTful 的原因吗?

  3. 假设我正在使用有状态的网络服务。而且我有两个不同的操作,必须保持操作的“原子性”(以信用卡/借记卡和克鲁兹预订为例)。两者都必须成功或都不成功。

可以使用 Web 服务来实现这样的事情吗?(因为我不知道如何将事务控制应用于 Web 服务。如果我必须只处理服务(ejb)层会很容易)。

如果是的话——这会引发另一个问题——事务管理器如何识别客户端上下文,并且相同的事务上下文是否应用于这些操作,而这些操作应该是一个有意义的原子事务的一部分?

这是否取决于我们要使用的框架/编程语言?例如,我想使用 JSF/SpringMVC UI 和 JAX-WS/Axis Web 服务来实现这一点。如果没有,请让我知道其他类似的框架(来自 Java)有这个并提供解决方案。服务器 - weblogic/jboss。

谢谢普拉卡什

0 投票
1 回答
794 浏览

spring - 将事务管理器 bean 作为原型范围是一种好习惯吗

我想根据用户登录连接不同的数据库,所以我将 TransactionManager bean 作为原型范围,它每次都在创建 transacionManager bean,并且运行良好。但是,当应用范围扩大时,它会变得多稳定?

有任何想法吗 ?谢谢。

0 投票
1 回答
976 浏览

java - 如何将 JOOQ 与 SpringBatch JdbcTemplate 同步

我正在使用 Spring 批处理并尝试使用两个“ORM”框架构建 TASKLET:使用 jdbcTemplate 进行简单查询,使用 JOOQ 框架进行更复杂的查询。

这是弹簧配置的一部分:

我在 com.myexample.writer.JdbcSequenceWriter 的 setter 处初始化我的 ORM:

两个 jdbcTemplate 都有一个会话,我可以使用“jdbcTemplate”插入一条记录,并使用带有“jdbcTemplate2”的 SELECT 找到这条记录。但是,如果尝试使用任何 'jdbcTemplate' 插入记录并使用 dslContext (JOOQ ORM) 找到它,我会得到空结果。我不明白 Spring Batch 使用了一些棘手的事务管理器,如果“作者”无法完成所有操作,则女巫回滚所有操作。但是如何将另一个框架与单个事务管理器同步?

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

spring - 为什么在 Spring 中需要 HIbernateTransactionManager?

当我们在hibernate中可以通过session做事务时,HibernateTransactionManagerSpring-hibernate集成中又需要什么?

它的作用是什么?

为什么没有这个我们就不能直接进行交易呢?

0 投票
1 回答
236 浏览

spring - 混合声明性 bean 和带注释的 bean:org.hibernate.HibernateException No Session found for current thread

我得到“没有为当前线程找到会话”。我想问题在于混合声明性 xml bean 和带注释的 bean。接下来,我将恢复我的配置。

我的图书馆项目

Spring 3.1.4 休眠 4

应用程序上下文.xml

模型核心安全.xml

通过组件扫描,我创建了 bean:AccountService、AccountDAO 和 PermissionEvaluator。

AccountService.java (com.mycompany.services)

AccountDAO.java (com.mycompany.dao)

(AccountService e AccountDAO 是事务性的)

现在,在AccountController.java中,我调用accountService.listAccounts()可以了

但是,如果我将 AccountService 注入 PermissionEvaluator 类(以下代码段),AccountController 会在调用accountService.listAccounts()时为当前线程找到 No Session

PermissionEvaluator.java (com.mycompany.permissionEvaluator)

我在 model-core-security.xml 中声明的 expressionHandler bean 中使用由组件扫描创建的 PermissionEvaluator(带有 AccountService、AccountDAO)。

可能是“找不到当前线程的会话”的原因吗?

0 投票
2 回答
1464 浏览

spring - WebSphereUowTransactionManager 返回 null 事务管理器

我有一个遗留代码,它使用 TransactionManager 获取对事务的访问权限,以便在提交后将同步对象与事务关联。

当我迁移到 Spring 3 时,我的解决方案推荐的事务管理器是 WebSphereUowTransactionManager,实际上,我觉得它只是真正的事务管理器的工厂。但是这个事务管理器总是在方法 getTransactionManager() 中返回 null。

我正在使用 EJB 的 2.1(旧版,还记得吗?)和 CMT。

我的配置是Spring 3.1.2.RELEASE,Hibernate 3.6.8.Final,Websphere 6.1.0.43,我的bean是:

我的休眠配置是:

而且我的bean auditContextManager 始终将transactionManager 设置为null。

在我看来,WebSphereUowTransactionManager 并没有故意公开事务管理器。这可以吗?

有什么办法可以让我获得事务管理器?由于 WebSphereUowTransactionManager 并不是真正的事务管理器,而只是一个事务管理器工厂。

0 投票
1 回答
67 浏览

cxf - CXF Logging & cn:checks 在使用时被忽略

我使用的技术是:Apache CXF、Spring 3.x、St​​ruts 2.x 和 Hibernate 3.x

当 TransactionManager 使用 Apache CXF 时,我遇到了一个奇怪的问题。对于我的应用程序,我将CXF 日志记录与我的 Web 服务和CN:checknames 一起使用以忽略服务器上的证书。当我在服务器上部署应用程序时,它可以很好地生成日志并忽略证书。但在第二步中,我正在为应用程序的不同区域开发前端,从而在 application.xml 中配置注释驱动的事务管理器。但是当我尝试使用这条线<context:annotation-config/>时,CXF 开始生成不同的日志记录方案,并且 CN:check 被完全忽略。

任何帮助都感激不尽。:)

0 投票
5 回答
1768 浏览

spring - 在运行时在多个事务管理器之间进行选择

我有 2 个客户端使用部署在 tomcat 中的相同基于 Spring 的 REST 应用程序。根据客户,我需要在数据源和事务管理器之间进行选择。如何在运行时选择使用哪个事务管理器?

在代码中如何在运行时选择 @Transactional("????") 。如果 org.springframework.jdbc.datasource.DataSourceTransactionManager 不可能,还有其他方法吗?