2016-06-16 11 views
0

同じアドレスにデプロイされた2つのサービスの宣言があります。私はそのうちの1つのみの障害傍受者を宣言したいと思いますが、2つのサービスのアドレスを変更せずに簡単に行うことができますか?私は同じ住所にそれらを持っていたいと思います。Cxf FailureマルチBeanサービス内の1つのサービスBeanのインターセプタ

<jaxrs:server id="service" address="http://0.0.0.0:${service.port:7070}/"> 
     <jaxrs:serviceBeans> 
      <ref bean="firstService"/> 
      <ref bean="secondService"/> 
     </jaxrs:serviceBeans> 

     <jaxrs:outInterceptors> 
      <ref bean="failureInterceptor" /> 
     </jaxrs:outInterceptors> 

     <jaxrs:features> 
      <cxf:logging/> 
      <ref bean="commonValidationFeature"/> 
     </jaxrs:features> 
     <jaxrs:providers> 
      <ref bean="jsonProvider"/> 
     </jaxrs:providers> 
    </jaxrs:server> 

答えて

1

あなたは少し例えばサービス

の相対パスを適応させることができれば、あなたは両方の同等

<jaxrs:server id="ServiceAImpl" address="/test/a"> 
<jaxrs:server id="ServiceBImpl" address="/test/b"> 

<jaxrs:server id="serviceImpl" address="/test"> 
    <jaxrs:serviceBeans> 
     <ref bean="serviceABean"/> <!-- /test/a service --> 
     <ref bean="serviceBBean"/> <!-- /test/b service --> 
を使用することができ、独自のインターセプタで、それぞれを2 JAX-RSサーバーを宣言することができます

それはそれはあなたのために可能でない場合は、Dでし

<jaxrs:server id="ServiceAImpl" address="/test"> 
<jaxrs:server id="ServiceBImpl" address="/test"> 

を許可されていません(メソッド名またはURIを分析する)ソースサービスBeanであるインターセプタにetermineし、特定のインターセプタマネージャを起動する

関連する問題