У меня есть веб-сервис Spring мыло, и я хочу использовать пользовательский аспект ведения журнала для измерения его производительности. Аспект работает нормально для нормальных пружинных компонентов, но не вызывается для метода Endpoint-invokeInternal. Есть ли весной ограничение на такой же защищенный метод ...? Цените любую помощь, чтобы заставить это работать?
Пример кода:
@Component
@Aspect
public class AspectLogging {
@Around(value = "execution(* *(..)) && @annotation(logTime)", argNames = "logTime")
public Object logAround(ProceedingJoinPoint joinPoint, LogTime logTime) throws Throwable {
// Time logging goes here...
}
}
Spring Context:
<aop:aspectj-autoproxy proxy-target-class="true"/>
<!-- Aspect -->
<bean id="aspectLog" class="com.x.y.AspectLogging" />
Конечная точка WS WS:
public class MyEndPoint extends AbstractJDomPayloadEndpoint {
@LogTime
protected Element invokeInternal(Element request) throws Exception {
// Service call goes here...
}
}
Обновление:
Это сработало после изменения модификатора доступа на public, означает ли это, что Spring позволяет AOP быть применимым только для открытых методов?