Обходной путь - вызвать другой метод из вашего аспектного метода, чтобы продолжить выполнение точки соединения.Я только попытался вызвать статический метод в статическом классе.Ниже приведен мой код для добавления @InsightOperation ко всей моей сериализации JSON.
Мой аспект:
@Aspect
public class JSONSerializerAspect {
@Around("call(* *.JSONSerializer.serialize(..)) && args(target)")
public Object serialize(ProceedingJoinPoint joinPoint, Object target) throws Throwable {
return JSONSerializationWrapper.serialize(joinPoint, target);
}
}
Статический класс, который он вызывает:
public class JSONSerializationWrapper {
@InsightOperation(label = "JSON_SERIALIZATION")
public static Object serialize(ProceedingJoinPoint joinPoint, Object target) throws Throwable {
return joinPoint.proceed(new Object[]{target});
}
}
IЯ использую это сам и проверил, что это работает.