2017-12-21 14 views
0

フォールバック方式であり、実際の方式は同じ戻りタイプを返さなければなりません。私はフォールバック方式reading listから文字列を返すと、実際の方法reliableからいくつかのオブジェクトを返すために何をすべき回路ブレーカーパターン

@HystrixCommand(fallbackMethod = "reliable") 
    public String readingList() { 
    URI uri = URI.create("http://localhost:8090/recommended"); 

    return this.restTemplate.getForObject(uri, String.class); 
    } 

    public String reliable() { 
    return "Cloud Native Java (O'Reilly)"; 
    } 

答えて

3

fallbackメソッドは、何かが発生した場合に実際のメソッドに代わるものを意味します。
異なるタイプを返すことはできません。それは意味をなさない。
したがって、メソッドシグネチャは、いくつかの例外を除いて全く同じでなければなりません。

  1. 戻り値の型が同じであるか
  2. メソッドの引数を共変でなければならないと同じである必要があります。さらに、Throwableという余分な引数を追加して、どのフォールバックが呼び出されたかの例外を取得することができます。
+0

共変な戻り値の型でも問題ありません。 –

関連する問題