2016-05-06 10 views
0

私は、Spring統合アプリケーションを以下のように設定し、ClientHttpRequestInterceptorを使用してアウトバウンド要求をログに記録します。 セットアップは以下のとおりです。 私は、カールを使用してHttp-getを送信し、結果を得ましたが、メソッドのCustomClientHttpRequestInterceptor.intercept()は、アプリケーションのデバッグ時に呼び出されません。Spring統合:要求が送信されたときにClientHttpRequestInterceptorのintercept()メソッドが呼び出されない

私はセットアップで何かを見逃しているに違いありません。助けてくれてありがとう。

構成:

<bean id="customRT" class="org.springframework.web.client.RestTemplate"> 
    <property name="interceptors"> 
     <list> 
      <bean class="hello.CustomClientHttpRequestInterceptor" /> 
     </list> 
    </property> 
</bean> 

<int:chain...> 
    <int:header-enricher.... 
    <int-http:outbound-gateway url="http://example.com/vhosts" 
          rest-template="customRT" 
          http-method="GET"/> 
</int:chain> 

public class CustomClientHttpRequestInterceptor implements ClientHttpRequestInterceptor { 
    Logger logger = LoggerFactory.getLogger(this.getClass()); 

    @Override 
    public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) 
     throws IOException { 
     logger.info("request.getURI().toString());  
     return execution.execute(request, body); 
    } 

答えて

0

構成やコードが正しいです。私は、キャッシュがインストールされていることを忘れてしまったので、intercept()メソッドが呼び出されることはありません。

関連する問題