Neo4j 是否仍然支持 XA 事务?

Does Neo4j still support XA transactions?

我在我的项目中使用 spring boot 和 neo4j。 SDN(spring data neo4j) 作为数据访问层。最近我遇到一个问题,我需要跨存储持久化,我需要同时更新 neo4j 和 oracle 数据库中的数据。所以标准的方法是 XA 分布式事务。我查找的有关将 neo4j 与 JTA 集成的任何资源都是旧的,最近我在 SDN 参考页面上发现了这一点: "Neo4j is dropping XA support and therefore SDN does not provide any capability for cross-store persistence"

link: https://docs.spring.io/spring-data/neo4j/docs/5.1.10.RELEASE/reference/html/

我的问题是,任何人都可以提供有关 neo4j 对 XA 事务支持状态的信息,或者是否有人尝试在全局分布式事务中将 neo4j 与 JTA 事务管理器一起使用?

在大多数情况下,人们现在在应用程序架构方面使用联邦,例如使用流式解决方案并且不依赖 XA,因为大多数 NOSQL 数据库也不支持它们。所有其他 spring 数据项目也不支持它,大多数推荐使用消息代理的发件箱模式。

因此,当今的一种常见模式是使用变更数据捕获 (CDC) 来触发相关数据库中的后续变更。

放弃 XA 是因为 none 我们的客户在使用它,而且它是需要维护的一大块代码库。我们还放弃了事务性 Lucene 集成,这是我们添加它的最初原因之一。