是否可以异步地 运行 AOP 建议@AfterReturning?

Is it possible to run AOP advice @AfterReturning, asynchronously?

我是AOP新手,抱歉,如果这个问题太明显了。 我在我的应用程序中使用 aspectj 将数据保存在缓存中。

对于所有保存方法(将数据保存在数据库中),我使用建议@AfterReturning 并将结果保存到缓存(Redis),在方法 returns 成功之后。 所以,我的保存方法必须等到数据也保存在缓存中。

我不希望我的保存方法等到数据保存到 redis 缓存中。我知道我可以通过使用 运行nable 创建我自己的异步执行器来做到这一点,但我想使用 AOP。 那么,无论如何我可以异步地提出这个 AOP 建议 运行 吗?

不可以,每个advice都和它截取的代码在同一个线程中运行,否则你可能会因为并发而出现其他问题。但是您不希望 AOP 引入问题,而是解决问题。 ;-)

话虽如此,没有什么能阻止您从建议中产生新线程,对吗?