Внедрение CXF JAXRS MessageContext в «in Interceptor» - PullRequest
3 голосов
/ 29 марта 2012

Я пытаюсь ввести MessageContext в Перехватчик с Фазой как READ следующим образом

@Context
org.apache.cxf.jaxrs.ext.MessageContext.MessageContext messageContext;

Но это не инициализируется и остается нулевым.Можно ли внедрить org.apache.cxf.jaxrs.ext.MessageContext.MessageContext в Перехватчик?

Спасибо

1 Ответ

3 голосов
/ 03 августа 2013

Возможно, вам потребуется добавить <aop:scoped-proxy/> в файл конфигурации cxf:

<jaxrs:server id="example" address="/">
    <jaxrs:serviceBeans>
         <bean class="org.apache.cxf.systest.jaxrs.CustomerService">
              <aop:scoped-proxy />
         </bean>
    </jaxrs:serviceBeans>
</jaxrs:server>

Также вам нужно создать метод установки для вашего messageContext (это должно быть в вашем классе обслуживания - вот оно "org.apache.cxf.systest.jaxrs.CustomerService "):

private MessageContext messageContext;

@Context
public void setMessageContext(MessageContext messageContext) {
    this.messageContext = messageContext;
}

Также рассмотрите эту ссылку на документацию:
http://cxf.apache.org/docs/jaxrs-services-configuration.html#JAXRSServicesConfiguration-FromSpring

...