问题标签 [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.
java - 一个 sessionFactory 的多个事务管理器
我有两个数据库使用相同的方案。
我的 hibernate 3.2/Spring 3 应用程序为每个数据库一个数据源(通过 jndi),每个数据源一个事务管理器(HibernateTransactionManager)。
问题:我可以使用会话工厂的一个实例,它应该使用与当前事务关联的数据源吗?
假设有以下方法。
交易经理:
web-services - Web 服务可以是有状态的吗?有状态 Web 服务的两个不同操作(来自同一个客户端)可以在同一个事务下吗?
我是有状态网络服务领域的新手。如果以下任何问题没有意义,请忽略。
我主要处理的是无状态 Web 服务。我心中的一个问题是,我们能否通过 XML API 将会话 ID 传递给 Web 服务。是否已经为此提供了规定(使其成为有状态的)?调用 Web 服务的 Java-XML api 是否有使用 cookie 的规定?
RESTful Web 服务是有状态的吗?这就是它们被称为 RESTful 的原因吗?
假设我正在使用有状态的网络服务。而且我有两个不同的操作,必须保持操作的“原子性”(以信用卡/借记卡和克鲁兹预订为例)。两者都必须成功或都不成功。
可以使用 Web 服务来实现这样的事情吗?(因为我不知道如何将事务控制应用于 Web 服务。如果我必须只处理服务(ejb)层会很容易)。
如果是的话——这会引发另一个问题——事务管理器如何识别客户端上下文,并且相同的事务上下文是否应用于这些操作,而这些操作应该是一个有意义的原子事务的一部分?
这是否取决于我们要使用的框架/编程语言?例如,我想使用 JSF/SpringMVC UI 和 JAX-WS/Axis Web 服务来实现这一点。如果没有,请让我知道其他类似的框架(来自 Java)有这个并提供解决方案。服务器 - weblogic/jboss。
谢谢普拉卡什
spring - 将事务管理器 bean 作为原型范围是一种好习惯吗
我想根据用户登录连接不同的数据库,所以我将 TransactionManager bean 作为原型范围,它每次都在创建 transacionManager bean,并且运行良好。但是,当应用范围扩大时,它会变得多稳定?
有任何想法吗 ?谢谢。
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 使用了一些棘手的事务管理器,如果“作者”无法完成所有操作,则女巫回滚所有操作。但是如何将另一个框架与单个事务管理器同步?
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 日 *
我们设法让它工作,但启动时出现大量警告:
新的配置是:
spring - 为什么在 Spring 中需要 HIbernateTransactionManager?
当我们在hibernate中可以通过session做事务时,HibernateTransactionManager
在Spring-hibernate
集成中又需要什么?
它的作用是什么?
为什么没有这个我们就不能直接进行交易呢?
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)。
可能是“找不到当前线程的会话”的原因吗?
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 并不是真正的事务管理器,而只是一个事务管理器工厂。
cxf - CXF Logging & cn:checks 在使用时被忽略
我使用的技术是:Apache CXF、Spring 3.x、Struts 2.x 和 Hibernate 3.x
当 TransactionManager 使用 Apache CXF 时,我遇到了一个奇怪的问题。对于我的应用程序,我将CXF 日志记录与我的 Web 服务和CN:checknames 一起使用以忽略服务器上的证书。当我在服务器上部署应用程序时,它可以很好地生成日志并忽略证书。但在第二步中,我正在为应用程序的不同区域开发前端,从而在 application.xml 中配置注释驱动的事务管理器。但是当我尝试使用这条线<context:annotation-config/>
时,CXF 开始生成不同的日志记录方案,并且 CN:check 被完全忽略。
任何帮助都感激不尽。:)
spring - 在运行时在多个事务管理器之间进行选择
我有 2 个客户端使用部署在 tomcat 中的相同基于 Spring 的 REST 应用程序。根据客户,我需要在数据源和事务管理器之间进行选择。如何在运行时选择使用哪个事务管理器?
在代码中如何在运行时选择 @Transactional("????") 。如果 org.springframework.jdbc.datasource.DataSourceTransactionManager 不可能,还有其他方法吗?