想象一个使用 spring、jdbc 和 aop 的事务性多线程 Java 应用程序,其中 m 个包中的 n 个类都参与数据库事务。现在假设需要在一个事务中定义任意一组类。此外,范围内总是有一个类 T 在调用时提交事务。
为了清楚起见,让我举一个例子:给定包 A、B、Z 和类 A.Foo、B.Bar 和 ZT 调用各个类的以下实例(可能由不同的调用者以及介于两者之间的其他类): Foo,B.Bar,A.Foo,ZT 只有在调用 ZT 之后才会提交事务。如果应用程序因任何原因关闭,除非涉及 ZT,否则将永远不会提交事务。
实例可以相互调用,并且如前所述,没有通用的入口点从单个入口点(如服务层)调用所有实例,这将成为 Spring 事务标签的简单目标。
现在的问题是:可以使用方面解决这个问题吗?如果是这样,基本方法是什么?谢谢。