假设我们进入一个方法并在主线程中启动一个事务。在这个方法中,有一些异步方法,因此我们在该方法内创建了另外2个线程。
Thread 1 --> SubMethod1 --> Saving (t=1)
^
|
MainThread --> MainMethod --> Saving (t=3)
|
v
Thread 2 --> SubMethod2 --> Exception while saving (t=2).
由于线程2出现异常,我希望回滚其他线程执行的所有事务。然而,虽然主线程和线程2拥有的事务可以被回滚,但我无法回滚线程1的工作。
我正在使用Spring/Hibernate,你有什么管理这个问题以及如何应用的想法吗?
谢谢。