微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 spring 中注册到 <tx:jtaTransactionManager/> 的 Jta transactionManager 的默认名称是什么,我可以更改它吗?

如何解决在 spring 中注册到 <tx:jtaTransactionManager/> 的 Jta transactionManager 的默认名称是什么,我可以更改它吗?

在春天码头Spring Framework 5.1.3.RELEASE Reference - Data Access 说,“对于标准场景,包括 WebLogic Server 和 WebSphere,请考虑使用方便的 配置元素。配置后,此元素会自动检测底层服务器并选择可用于平台的最佳事务管理器.” 当 使用时,它的名称是什么? 我可以更改它的名字吗? 如果我需要在我的项目中使用 2 个事务管理器,我需要知道它的名称,以便我可以指出正确的一个

@Transactional("jta")  
public void method test()  
...  
}  
@Transactional("local")  
public void method test1()  
...  
}  

谢谢。

解决方法

我建议阅读定义 tx 命名空间的 the schema。它明确说明了什么是可能的,以及它能做什么。

来自上述spring-tx.xsd

创建一个名为“transactionManager”的默认 JtaTransactionManager bean, 匹配“注释驱动”标签所期望的默认 bean 名称。 自动检测 WebLogic 和 WebSphere:创建 WebLogicJtaTransactionManagerWebSphereUowTransactionManager,分别。

正如预期的那样,名称将是 transactionManager,并且无法更改它,因为该元素上没有属性或进一步配置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。