【发布时间】:2018-02-20 20:17:31
【问题描述】:
我有一个事务服务类:
@Service
@Transactional(...)
public class MyService() {
public void myFunc() {
// some code
}
}
还有以下看点:
@Aspect
public class MyAspect() {
@AfterReturning(value = "execution(...") // pointcut matching myFunc()'s signature
public void doSomethingAfterMyFunc() {
// some code
}
}
我面临的问题是,在输入@AfterReturning 建议时,从执行myFunc() 创建的事务尚未提交,因此建议共享相同的事务。根据我的阅读,这种行为是意料之中的,但出于我的目的,我需要相反的情况——有没有办法在输入建议之前提交 myFunc() 的事务?
提前致谢!
【问题讨论】:
-
在
@EnableTransactionManagement和@EnableAspectJAutoProxy上显式设置order。确保后者先行。
标签: java spring service transactions aop