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

What is default name of Jta transactionManager that registers with <tx:jtaTransactionManager/> in spring and can I change it?

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

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

谢谢。

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

来自说spring-tx.xsd

Creates a default JtaTransactionManager bean with name "transactionManager", matching the default bean name expected by the "annotation-driven" tag. Automatically detects WebLogic and WebSphere: creating a WebLogicJtaTransactionManager or WebSphereUowTransactionManager, respectively.

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