Java 如何在同一事务中保留通知和targetObject
请帮助,如何在同一事务中保留通知和Java 如何在同一事务中保留通知和targetObject,java,spring,aop,spring-transactions,Java,Spring,Aop,Spring Transactions,请帮助,如何在同一事务中保留通知和targetObject 我使用spring boot:1.4.0.RELEASE,并使用@Transactional控制事务,代码如下所示 @Transactional public String doA() { insertA(); insertB(); insertC(); return null; } 我定义了建议,并希望将建议和doA()保留在同一事务中 @Aspect @Component public class
targetObject
我使用spring boot:1.4.0.RELEASE,并使用@Transactional
控制事务,代码如下所示
@Transactional
public String doA() {
insertA();
insertB();
insertC();
return null;
}
我定义了建议,并希望将建议和doA()保留在同一事务中
@Aspect
@Component
public class DoAAspect implements Ordered {
@Pointcut(value = "execution(* doA()")
public void pointcut(){
}
@Around(value = "pointcut()")
public Object around(ProceedingJoinPoint jointPoint) throws Throwable {
try {
Object returnVal = jointPoint.proceed();
if(true)
throw new RuntimeException("xxxx");
return returnVal;
} catch (Throwable tx) {
tx.printStackTrace();
throw tx;
}
}
public int getOrder() {
return 0; // I’m trying to return Ordered.HIGHEST_PRECEDENCE or Ordered.LOWEST_PRECEDENCE
}
}
我希望它能够在抛出新的RuntimeException()时回滚insertA()
、insertB()
、insertC()的事务。但不管我怎么做,都失败了。电话号码如下:
doAspect.around()
->doA()
->TransactionSpectSupport.invokeWithinTransaction()
->doAspect.around()
colud如何在同一事务中保留通知和doA()
?谢谢,谢谢