有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jaxrs CXF Sping@Context未初始化原型范围bean

我的应用程序正常工作,但我在访问MessageContext时遇到问题。 MessageContext始终为空,无论对实例变量或setter方法使用@Context

注意:我的接口已生成,无法更改。我需要为每个调用创建新的CarApiEntryPoint对象(即我希望CarApiEntryPoint作为原型)。如果我删除aop:scoped proxy,MessageContext会被填充,但我会得到Singleton实例

在我的豆子里。xml

     <jaxrs:server address="/rs">
      <jaxrs:serviceBeans>
        <ref bean="carBean"/>
     </jaxrs:serviceBeans>
     </jaxrs:server>

     <bean id="cartBean" class ="com.xyz.CarApiEntryPoint" scope="prototype">
        <aop:scoped-proxy proxy-target-class="true"/>
     </bean>

班级

     import org.apache.cxf.jaxrs.ext.MessageContext;
     public class CarApiEntryPoint implements CarApi{
         @Context MessageContext messageContext;
         .......// Overriding methods from CarApi
     }


     @Path("/V1")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     public interface CarApi  {
         @POST
         @Path("/cars/{carId}/")
         //methods....
     }

请就我做错了什么提出宝贵的建议


共 (0) 个答案