gpt4 book ai didi

java - Spring JTA 配置 - 如何设置 TransactionManager?

转载 作者:IT老高 更新时间:2023-10-28 13:56:52 25 4
gpt4 key购买 nike

我们在 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>

最佳答案

是的,没关系。您看到的堆栈跟踪也没有问题:<tx:jta-transaction-manager/>尝试从多个不同的标准位置获取事务管理器;对于每个失败的 JNDI 查找,您将看到 javax.naming.NameNotFoundException .

java:/TransactionManager是 JBoss 默认绑定(bind)的位置;其他 servlet 容器将默认为 java:/comp/TransactionManager ,我认为这应该是 TM 的“标准”位置。

来自 Spring reference documentation :

For standard scenarios, including WebLogic, WebSphere and OC4J, consider using the convenient <tx:jta-transaction-manager/> configuration element. This will automatically detect the underlying server and choose the best transaction manager available for the platform. This means that you won't have to configure server-specific adapter classes (as discussed in the following sections) explicitly; they will rather be chosen automatically, with the standard JtaTransactionManager as default fallback.

关于java - Spring JTA 配置 - 如何设置 TransactionManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1783540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com