Я пытаюсь заставить службы Apache CXF JAX-RS работать с Spring AOP.Я создал простой класс ведения журнала:
public class AOPLogger {
public void logBefore(){
System.out.println("Logging Before!");
}
}
Моя конфигурация Spring (beans.xml):
<aop:config>
<aop:aspect id="aopLogger" ref="test.aop.AOPLogger">
<aop:before method="logBefore" pointcut="execution(* test.rest.RestService.*(..))"/>
</aop:aspect>
</aop:config>
<bean id="aopLogger" class="test.aop.AOPLogger"/>
Я всегда получаю NPE в RestService, когда выполняется вызовМетод getServletRequest (), который имеет:
return messageContext.getHttpServletRequest();
Если я удаляю конфигурацию aop или закомментирую ее из файла beans.xml, все работает нормально.
Все мои действительные службы Rest расширяютсяtest.rest.RestService (который является классом) и вызовите getServletRequest ().Я просто пытаюсь запустить AOP на основе примера, приведенного в документации CXF JAX-RS.Что я делаю не так?