Я использую AOP с аннотациями костюмов, чтобы добавить таймер к методу.Обработка исключений с помощью aop
@Around(value = "@annotation(benchmark)")
public void func(final ProceedingJoinPoint joinPoint, final Benchmark benchmark) throws Throwable {
//wrap the call to the method with timer
final long t0 = System.currentTimeMillis();
logger.error(t0 + " ");
joinPoint.proceed();
final long elapsed = (System.currentTimeMillis() - t0);
logger.error(elapsed + " ");
}
Я хочу что-то сделать, когда исключение выбрасывается из аннотированного метода. И я не уверен, что это правильный путь ...
Я прочитал и увидел, что там:
@AfterThrowing(pointcut = "execution(* com.mycompany.package..* (..))", throwing = "ex")
Насколько я понимаю, @AfterThrowing
не дает мне то, что я хочу, мне нужно как-то кэшировать исключение только из метода, который аннотируется аннотацией эталона.
Любая идея?
Спасибо!