Spring 链式服务中的数据 Neo4j 和事务
Spring Data Neo4j and transactions in chained services
例如我有一个服务
public class ServiceA {
@Transactional
public void a() {
...
serviceB.b()
...
}
}
调用另一个服务的方法
public class ServiceB {
@Transactional
public void b() {
...
graphRepository.save(..)
...
}
}
调用 GraphRepository 的方法。
如果 GraphRepository 方法执行过程中没有任何问题,everithigs 运行良好,但如果 GraphRepository 中发生异常,则回滚不起作用,并且所有对远程数据库的调用都被阻止。
如果我删除了 b() 上的事务注释,即使在 GraphRepository 中发生异常,everithins 也能正常工作。
我无法解释这种行为。
你能帮帮我吗?
感谢 Luanne 和她的评论,我解决了这个问题
这是一个错误,已在 neo4j-ogm 1.1.5-SNAPSHOT 中解决
例如我有一个服务
public class ServiceA {
@Transactional
public void a() {
...
serviceB.b()
...
}
}
调用另一个服务的方法
public class ServiceB {
@Transactional
public void b() {
...
graphRepository.save(..)
...
}
}
调用 GraphRepository 的方法。
如果 GraphRepository 方法执行过程中没有任何问题,everithigs 运行良好,但如果 GraphRepository 中发生异常,则回滚不起作用,并且所有对远程数据库的调用都被阻止。
如果我删除了 b() 上的事务注释,即使在 GraphRepository 中发生异常,everithins 也能正常工作。
我无法解释这种行为。
你能帮帮我吗?
感谢 Luanne 和她的评论,我解决了这个问题
这是一个错误,已在 neo4j-ogm 1.1.5-SNAPSHOT 中解决