У меня есть переопределенный метод run () в классе, который реализует java.lang.Runnable
, и я передаю экземпляры этого класса java.util.concurrent.ThreadPoolExecutor
. Метод run может выдать исключение времени выполнения, и я хочу использовать AspectJ для создания рекомендации @AfterThrowing вокруг этого метода и для добавления некоторого поведения при возникновении исключения.
Я мало знаю о прокси, и из-за Тот факт, что ThreadPoolExecutor отвечает за вызов метода run (), я не могу дать ему совет напрямую, используя
@AfterThrowing(pointcut = "execution(* com.mypackage.MyClass.run())")
Есть ли какой-либо другой способ реализовать какое-либо поведение, если этот метод выдает исключение, но после завершения выполнения метода?
Я думал о том, чтобы посоветовать какой-нибудь метод в ThreadPoolExecutor, который отвечает за вызов метода run (), но не уверен, как там жизненный цикл ..
Есть идеи?