首页 / 知识
关于java:JPA多个事务管理器
2023-04-16 03:16:00

JPA Multiple Transaction Managers
我有一个applicationContext.xml文件,它在Spring中间件自定义应用程序中配置了两个org.springframework.orm.jpa.JpaTransactionManager(每个都有自己的持久性单元,不同的数据库)。
在您的配置中,您将有两个事务管理器吗? 我猜你有两个选择 如果您的用例从不需要在同一事务中同时更新两个数据库,则可以使用两个JpaTransactionManager,但是我不确定您是否可以使用@Transactional方法?在这种情况下,您将需要回退到使用简单的TransactionProxyFactoryBean定义事务边界的旧机制,例如:
如果需要跨两个数据库的事务,则需要使用JTA事务管理器。 API指出:
这意味着您将需要提供一个JTA事务管理器。在我们的应用程序中,我们使用类似于以下内容的配置:
如果要在应用服务器内进行部署,那么spring JtaTransactionManager需要对应用服务器提供的符合XA的真正JTA事务管理器进行查找。但是,您也可以使用独立的JTA事务管理器(但是我自己还没有尝试过) 至于配置Jpa持久性提供程序,我并不那么熟悉。您正在使用哪个JPA持久性提供程序? 上面的代码基于我们的方法,我们使用的是本地Hibernate,而不是Hibernate的JPA实现。在这种情况下,我们可以摆脱两个HibernateTransactionManager bean,只需确保两个SessionFactory都注入了相同的JTA TM,然后使用tx:annotation-driven元素。 希望这可以帮助 可以拥有两个Spring事务管理器的唯一情况是,如果您一次都没有打开两个事务。这本质上与分布式事务无关-即使您希望两个数据源具有完全独立的(但可能在时间上重叠)事务生命周期,也存在相同的限制。 在内部,Spring的事务管理器都使用Spring的TransactionSynchronizationManager,该管理器在静态ThreadLocal变量中保留了一堆关键状态,因此可以确保事务管理器在彼此的状态上脚。 |
最新内容
相关内容
linux复制命令文件?
linux复制命令文件?,系统,文件,命令,目录,基本知识,源文件,目标,文件夹,路径,选项,linux怎么复制命令cp命令:用于复制文件或目录。语法如下:`baslinux下文件均分命令?
linux下文件均分命令?,管理,情况,系统,工作,信息,地址,命令,目录,单位,设备,Linux文件系统操作命令1、cat:可以显示文件的内容(经常和more搭配linux查文件数量命令?
linux查文件数量命令?,系统,数据,电脑,命令,文件,信息,代码,对比,软件,第三,linux系统如何查看自己创建了多少文件夹为了实验,我打算总共创建 7linux命令去重文件?
linux命令去重文件?,系统,工作,命令,信息,数据,环境,代码,文件,目录,操作,Linux的命令行中一些文本操作技巧的实例分享1、把文件中所有的 findlinux匹配文件名命令?
linux匹配文件名命令?,系统,时间,发行,位置,工具,软件,名称,盘后,电脑,盘中,linux如何查找某个文件名1、用CRT软件连接一个Linux系统 。打开需改文件名linux命令?
改文件名linux命令?,名字,软件,文件,命令,位置,系统,文件名,目录,指令,方面,linux下对文件重命名是什么命令Linux重命名文件是rename。Linux中linux命令文件加锁?
linux命令文件加锁?,数据,密码,系统,设备,代码,地址,名单,信息,数字,统一,请教linux下可否将数据锁在L2cache之中外部缓存(L2 Cache):CPU外部的linux拼接文件命令?
linux拼接文件命令?,文件,数据,命令,代码,时间,信息,系统,情况,管理,标准,Linux文件相关命令top:显示当前进程的系统资源使用情况。kill:终止指linux文件常用命令?
linux文件常用命令?,工作,地址,信息,系统,命令,目录,标准,情况,管理,常用命令,linux常用命令及用法linux系统常用操作命令如下:ls:全拼list,功能配置网关的命令linux?
配置网关的命令linux?,地址,系统,网络,代码,信息,环境,命令,网关,服务,电脑,如何在Linux上添加或更改默认网关目录部分1:使用终端打开终端。浏文件写入linux命令?
文件写入linux命令?,文件,命令,状态,系统,名称,时间,首次,数据,数字,内容,在linux命令行下如何将指定的几行内容写入到一个文件中?1、首先连接linux命令写满文件?
linux命令写满文件?,地址,工作,命令,系统,管理,文件,目录,标准,电脑,信息,Linux命令linux系统常用操作命令如下:ls:全拼list,功能是列出目录的内