可以异步运行AOP建议@AfterReturning吗?

时间:2017-03-13 07:21:02

标签: asynchronous aop

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

对于所有保存方法(在DB中保存数据),我使用建议@AfterReturning并在方法成功返回后将结果保存到缓存(Redis)。 因此,我的save方法必须等到数据也保存在缓存中。

我不希望我的保存方法等到数据保存在redis缓存中。我知道我可以通过使用runnable创建自己的异步执行程序来实现这一点,但我想使用AOP。 那么,无论如何我可以让这个AOP建议以异步方式运行吗?

1 个答案:

答案 0 :(得分:1)

不,每个建议都在与它拦截的代码相同的线程中运行,否则由于并发性,您可能会遇到其他问题。但是你不希望AOP引入问题,而是要解决它们。 ; - )

话虽如此,没有什么能阻止你从建议中产生一个新线程,是吗?