java – Spring JTA配置 – 如何设置TransactionManager?
我们将
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:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |