繁体   English   中英

如何为不同的方法使用不同的 spring 事务

[英]How to use different spring transactions for different methods

我在我的 oracle 数据库中调用另一种方法来执行持久性的方法的持久性存在问题。

我会尽力解释得更好,让你们更容易,我希望你们能帮助我。

这是我的场景。

我有一个组件,我在其中调用一个看起来像这样的方法:

public void execute() throws Exception {
    service1.method1(); // @Transactional
    service2.method2(); // @Transactional(propagation = Propagation.REQUIRES_NEW)
    service3.method3(); // @Transactional(propagation = Propagation.REQUIRES_NEW)
}

问题是我需要分别保留每个方法,以防其中一个出现异常,其他方法可以保留。

现在我遇到的问题是我遇到了死锁,我的代码仍在运行,直到我停止我的应用程序,并且事务永远不会结束。

我尝试了很多东西,但我在没有必要的知识的情况下尝试使用此 spring 事务,我不知道我还能尝试做什么。

你能为我现在所在的这个黑洞带来一些启示吗?

真的很谢谢你。

Spring AOP 相同的 class 方法将不起作用。 this.method1(); // @Transactional 将不起作用。

此线程中的更多解释相同的 class 调用在 Spring AOP cglib 中无效

你可以注册不同的事务管理器,你的服务使用它的@Transactional(tx="xxx")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM