首页 > 解决方案 > 实现 Runnable 的类中的 Advice 方法

问题描述

我在一个类中有一个重写的 run() 方法,它实现java.lang.Runnable并且我将该类的实例传递给java.util.concurrent.ThreadPoolExecutor. run 方法可能会引发运行时异常,我想使用 AspectJ 围绕该方法创建 @AfterThrowing 建议,并在引发异常时添加一些行为。

我对代理知之甚少,由于 ThreadPoolExecutor 负责调用 run() 方法,我无法直接使用

@AfterThrowing(pointcut = "execution(* com.mypackage.MyClass.run())")

如果该方法抛出异常,但在方法执行完成之后,还有其他方法可以实现某些行为吗?

我正在考虑在 ThreadPoolExecutor 中建议一些方法,该方法负责调用 run() 方法,但不确定那里的生命周期如何..

有任何想法吗 ?

标签: javaspringthreadpoolaspectjrunnable

解决方案


推荐阅读