为了避免 XA 开销,我在项目 A 中添加了一些表名,并将其推出到与项目 B 相同的 mysql 数据库中,这样我就可以使用相同的连接 - 并希望获得完整的原子性等。
项目 A 和 B 虽然具有非常不同的会话工厂配置。我为项目 B 配置了一个 HibernateTransactionManager,而 A 只是使用 TransactionSynchronizationManager.hasResource(sessionFactoryA) OSiV 样式代码来加入事务。
这在概念上有效吗?我只是在A中尝试了一个断点,然后等待,然后继续,超时导致B回滚,但A仍然提交!!?
是什么赋予了?谢谢你的帮助。