Метод Advice в классе, который реализует Runnable - PullRequest
0 голосов
/ 23 января 2020

У меня есть переопределенный метод run () в классе, который реализует java.lang.Runnable, и я передаю экземпляры этого класса java.util.concurrent.ThreadPoolExecutor. Метод run может выдать исключение времени выполнения, и я хочу использовать AspectJ для создания рекомендации @AfterThrowing вокруг этого метода и для добавления некоторого поведения при возникновении исключения.

Я мало знаю о прокси, и из-за Тот факт, что ThreadPoolExecutor отвечает за вызов метода run (), я не могу дать ему совет напрямую, используя

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

Есть ли какой-либо другой способ реализовать какое-либо поведение, если этот метод выдает исключение, но после завершения выполнения метода?

Я думал о том, чтобы посоветовать какой-нибудь метод в ThreadPoolExecutor, который отвечает за вызов метода run (), но не уверен, как там жизненный цикл ..

Есть идеи?

...