加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:03:06 所属栏目:Java 来源:网络整理
导读:我们将 Spring配置中的 Spring事务配置为: tx:jta-transaction-manager/ 我收集这意味着Spring会自动发现基础的JTA实现.所以当我们启动JBoss时,我们看到这些消息,而Spring搜索: [JtaTransactionManager] [ ] No JTA TransactionManager found at fallback
我们将 Spring配置中的 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在默认情况下绑定的地方;其他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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读