我正尝试在拦截器中注入(inject) MessageContext,其阶段如下所示
@Context
org.apache.cxf.jaxrs.ext.MessageContext.MessageContext messageContext;
但这并没有被初始化并且保持为空。是否可以在拦截器中注入(inject) org.apache.cxf.jaxrs.ext.MessageContext.MessageContext?
谢谢
最佳答案
您可能需要添加 <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 创建一个 setter 方法(这应该在您的服务类中 - 这里是“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
关于cxf - 在 "in Interceptor"中注入(inject) CXF JAXRS MessageContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9927298/