neo4j - Neo4j 是否仍然支持 XA 事务?

标签 neo4j spring-data-neo4j jta xa

我的项目使用 spring boot 和 neo4j。 SDN(spring data neo4j)作为数据访问层。最近遇到一个需要跨存储持久化的问题,需要同时更新neo4j和oracle数据库中的数据。因此,这样做的标准方法是 XA 分布式事务。我在将 neo4j 与 JTA 集成时查找的任何资源都是旧的,最近我在 SDN 引用页面上发现了这一点:
“Neo4j 正在放弃 XA 支持,因此 SDN 不提供任何跨存储持久性功能”

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

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

最佳答案

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

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

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

关于neo4j - Neo4j 是否仍然支持 XA 事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57883956/

相关文章:

database - Spring Boot 中是否有任何方法可以在不复制存储库的情况下将相同的数据提交到两个不同的数据源?

java - Java EE 5 中的两阶段提交事务

Spring/JTA/JPA DAO 集成测试不回滚?

java - 为什么不提交 Requires_New 事务?

neo4j - Neo4j-使用ID匹配多个节点

neo4j - 如何在 Spring Data Neo4j (SDN4) 中进行集成测试

csv - Neo4j Cypher-使用LOAD CSV创建节点并设置标签

java - 如何将自定义 Spring Data Neo4j 5.0.3 密码查询标记为只读

node.js - 在 Neo4j 中检索 Node 列表以及与其直接相关的 Node ID 列表

neo4j - 密码中关系的重复模式