处理多个 EAR 和同一事务的最佳实践是什么,据我们所知,我们需要应用 XA 概念才能使事务正常工作。但显然在我们一直在做的 currents 项目中,这对于创建和更新并不是绝对必要的;但是,如果我们尝试从实体中检索任何集合,我们会收到一个错误,指出它不是活动事务或它已关闭,但是如果我们更新 Ear A 中的实体 A 并更新 Ear B 中的实体 B,它在实体 A 时完美运行实体 B 有不同的数据源,此时我们对此感到非常困惑,因为我们还没有配置任何 xa 数据源。处理这个问题的最佳方法是什么。事务由 bean 处理,而不是由容器处理,数据源在 EAR A 和 EAR B 之间不同
问问题
256 次
1 回答
1
当您想在单个事务中使用多个资源(数据库、JMS 资源、JCA 连接器)时,您需要一个 XA 事务(也称为“全局事务”)。XA 事务涉及一个 JTA 事务管理器,用于通过两阶段提交 (2PC) 协议。有关 XA 的更多详细信息,请参阅 Mike Spille 的这篇精彩的XA Exposed帖子。
(...) 如果我们更新 Ear A 中的实体 A 并更新 Ear B 中的实体 B,当实体 A 和实体 B 具有不同的数据源时,它可以完美地工作
您如何执行该更新(我的意思是,从哪里)?“它有效”到底是什么意思?您确定两个更新都在出现问题时回滚吗?如果不使用全局事务,我会感到惊讶。你能澄清一下吗?
于 2009-12-14T22:10:53.453 回答