我需要在执行函数后执行任务。我已经使用了Aspect。但我有些困惑。
我在spring服务中有一个函数A()。
@Transactional(readOnly = false, isolation = Isolation.DEFAULT, propagation = Propagation.REQUIRED, rollbackFor = {
Exception.class
})
void A() {
//Do Something
}
我对此功能有@Afterreturning
方面。
@AfterReturning(pointcut = "execution(Sevice.saverecord(..)) ")
public void processNotifications(JoinPoint jp) {}
我想知道这个方面是否会使用metod A()的交易,或者它会自动创建一个新的交易。因为我没有在这个方面方法上定义任何交易。
我尝试在两个方法中使用TransactionAspectSupport.currentTransactionStatus()。toString()打印事务详细信息。我有两个不同的ID。
任何人都可以解释这是否意味着有两个交易,如果是第二笔交易来自何处?