4

Spring Cloud docは次のように述べています。

Hystrix がクラスパス上にある場合、デフォルトで Feign はすべてのメソッドをサーキット ブレーカーでラップします。

  1. それは良いことですが、特定の例外を無視するように Hystrix オプションを構成するにはどうすればよいですか? ErrorDecoderHTTP ステータス コードを例外にマップする実装があります。私が@HystrixCommandメソッドを身につけたら、Feign はそれを尊重しますか?
  2. 私たちの要件は、依存関係に対して行われたすべての HTTP 呼び出しに関するさまざまな詳細をログに記録することです。現在、これを行う装飾RestTemplateがあります。コードで見たものと、Dave Syer の回答hereに基づくと、Feign はRestTemplate. では、ロギング要件を満たすにはどうすればよいでしょうか。インターフェイスfeign.Clientは有望に見えますが、それを使用するかどうかは完全にはわかりません.
4

4 に答える 4

5
  1. Feign は@HystrixCommand例外を尊重せず、無視をサポートしません。私の提案は、feign の hystrix 統合 ( feign.hystrix.enabled=false) を無効にして、feign の外で hystrix を使用することです。
  2. Feign はRequestInterceptor、ログを記録する場所を提供する をサポートしています。詳細については、ドキュメントを参照してください。

例:

@FeignClient(name = "stores", configuration = StoreConfiguration.class)
public interface StoreClient {
    //..
}

@Configuration
public class StoreConfiguration {

    @Bean
    public LoggingRequestInterceptor loggingRequestInterceptor() {
        return new LoggingRequestInterceptor();
    }
}
于 2016-09-15T17:32:41.147 に答える