我是AOP的新手,对不起,如果这个问题太明显了。 我在我的应用程序中使用aspectj来保存缓存中的数据。
对于所有保存方法(在DB中保存数据),我使用建议@AfterReturning并在方法成功返回后将结果保存到缓存(Redis)。 因此,我的save方法必须等到数据也保存在缓存中。
我不希望我的保存方法等到数据保存在redis缓存中。我知道我可以通过使用runnable创建自己的异步执行程序来实现这一点,但我想使用AOP。 那么,无论如何我可以让这个AOP建议以异步方式运行吗?
答案 0 :(得分:1)
不,每个建议都在与它拦截的代码相同的线程中运行,否则由于并发性,您可能会遇到其他问题。但是你不希望AOP引入问题,而是要解决它们。 ; - )
话虽如此,没有什么能阻止你从建议中产生一个新线程,是吗?