2013-12-20 5 views
2

2 개의 REST 컨테이너를 사용하여 만듭니다. JSON 공급자, 유효성 검사 요격기, cxf 버스를 사용한 예외 처리와 같은 일반적인 것들을 유지하고 싶습니다. 아래는 내 응용 프로그램 컨텍스트입니다."org.apache.cxf.jaxrs.bus.providers"가 작동하지 않습니다.

<cxf:bus> 
    <cxf:properties> 
     <entry key="org.apache.cxf.jaxrs.provider" key-ref="busProviders"/> 
    </cxf:properties> 
</cxf:bus> 

    <util:list id="busProviders"> 
    <ref bean="requestInterceptor"/> 
    <ref bean="jsonProvider"/> 
    <ref bean="exceptionHandler"/> 
    </util:list> 

<bean id="requestInterceptor" class="com.sample.interceptor.ServiceValidationInterceptor"/> 
<bean id="jsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" /> 
<bean id="exceptionHandler" class="com.sample.exception.ExceptionHandler" /> 

<!-- ======================== REST Container for Service1 ======================================= --> 
<jaxrs:server id="restContainer" address="/service1"> 
     <jaxrs:serviceBeans> 
      <ref bean="endecaService"/> 
     </jaxrs:serviceBeans> 
     <jaxrs:inInterceptors> 
      <ref bean="logInbound"/> 
      <bean class="org.apache.cxf.jaxrs.provider.jsonp.JsonpInInterceptor"> 
      <property name="callbackParam" value="callback"/> 
      </bean> 
     </jaxrs:inInterceptors> 
     <jaxrs:outInterceptors> 
      <ref bean="logOutbound"/> 
      <bean class="org.apache.cxf.jaxrs.provider.jsonp.JsonpPreStreamInterceptor"> 
      <property name="mediaType" value="application/json"/> 
      </bean> 
      <bean class="org.apache.cxf.jaxrs.provider.jsonp.JsonpPostStreamInterceptor"> 
      <property name="paddingEnd" value=")"/> 
      </bean> 
     </jaxrs:outInterceptors> 
    </jaxrs:server> 

    <!-- ======================== REST Container for Service2========================================== --> 
<jaxrs:server id="restContainerForHelpcenter" address="/service2"> 
    <jaxrs:serviceBeans> 
     <ref bean="helpCenter"/> 
    </jaxrs:serviceBeans> 
     <jaxrs:inInterceptors> 
      <ref bean="logInbound"/> 
      <bean class="org.apache.cxf.jaxrs.provider.jsonp.JsonpInInterceptor"> 
      <property name="callbackParam" value="callback"/> 
      </bean> 
     </jaxrs:inInterceptors> 
     <jaxrs:outInterceptors> 
      <ref bean="logOutbound"/> 
      <bean class="org.apache.cxf.jaxrs.provider.jsonp.JsonpPreStreamInterceptor"> 
      <property name="mediaType" value="application/json"/> 
      </bean> 
      <bean class="org.apache.cxf.jaxrs.provider.jsonp.JsonpPostStreamInterceptor"> 
      <property name="paddingEnd" value=")"/> 
      </bean> 
     </jaxrs:outInterceptors> 
    </jaxrs:server> 

위의 2를 2 개의 서비스 빈으로 단일으로 결합하면 잘 작동하지만이 경우에는 작동하지 않습니다. 아무도 2 개의 다른 REST 컨테이너에 대해 cxf : 버스 기능을 사용 했습니까? 제게 알려주십시오. 속성 이름의 끝에

답변

0

공지 사항 s org.apache.cxf.jaxrs.bus.provider