我们在 Spring config 中将 Spring 事务配置为:
<tx:jta-transaction-manager/>
我认为这意味着 Spring 将自动发现底层 JTA 实现。因此,当我们启动 JBoss 时,我们会在 Spring 搜索时看到这些消息:
[JtaTransactionManager] [ ] No JTA TransactionManager found at fallback JNDI location [java:comp/Tran
sactionManager]
javax.naming.NameNotFoundException: TransactionManager not bound
<<Big stack trace>>
<<More of the same>>
然后最终看到:
[JtaTransactionManager] [ ] JTA TransactionManager found at fallback JNDI location [java:/Transaction
Manager]
[JtaTransactionManager] [ ] Using JTA UserTransaction: org.jboss.tm.usertx.client.ServerVMClientUserT
ransaction@1f78dde
问题是 - 我们如何编辑我们的<tx:jta-transaction-manager/>
标签以显式配置java:/Transaction Manager
JTA 实现,从而避免日志中的所有这些堆栈跟踪?(我不希望只更改 Log4J 日志记录级别)
更新:我<tx:jta-transaction-manager/>
用下面的配置替换,它似乎工作..我猜这没关系?
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManagerName" value="java:/TransactionManager"/>
</bean>