栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

“本地事务已具有1个非XA资源:无法添加更多资源”错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

“本地事务已具有1个非XA资源:无法添加更多资源”错误

1上面的代码为什么不开始完全独立的事务?

该应用程序。服务器为您管理交易,如果需要,交易可以是分布式交易。它会自动招募所有参与者。当只有一个参与者时,您不会注意到与普通JDBC事务有什么区别,但是如果有多个参与者,则确实需要分布式事务,因此会出现错误。

2如何强制它开始独立事务而不是分布式事务?

您可以将数据源配置为XA或Local。还可以将Spring /
Hibernate的事务行为配置为使用常规JDBC事务,或将事务管理委托给JTA分布式事务管理器。

我建议您将数据源切换到非XA并尝试将Spring /
Hibernate配置为使用JDBC事务。您应该在文档中找到相关信息,这里我怀疑是要更改的行:

<bean id="txManager"        />

从本质上讲,这应该意味着您没有在使用该应用程序。服务器分布式事务管理器。

3哪种配置可能导致两个应用程序服务器之间的行为不同?

如果您确实拥有完全相同的应用程序和配置,则意味着在一种情况下,dist中仅招募一名参与者。交易,而第二种情况有两个。一个参与者通常对应一个与数据库的物理连接。可能是在一种情况下,您在两个不同的数据库上使用了两个架构,而在第二种情况下,您在
同一个 物理数据库上使用了两个 架构 吗?一个更可能的解释是,两个应用程序上的数据源配置不同。服务器。 __

PS:如果您使用JTA分布式事务,则应在上使用

UserTransaction.{begin,commit,rollback}
而不是等效的方法
Session



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/447605.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号