私は内部的に外部呼び出しを行い、問題の場合には単一の汎用サービス例外をスローするクライアントAPI jarを持っています。私はAPI呼び出しの上にhystrixラッパーを書いています。例外を返す「ユーザーが見つかりません」のようなケースがあります。コールは成功し、サービスは有効な応答で応答しましたが、ヒストリックスはそれを障害として扱います。私はHystrixの例外を無視できることを知っています。サービスコールによってスローされる唯一の例外をホワイトリストに入れます。例外またはhttpステータスコードなどのメッセージに基づいてサービス呼び出しによってスローされた例外を選択的に無視する方法はありますか?Hystrixでサービス例外を選択的に無視することはできますか?
0
A
答えて
0
外部サービスが異なる場合に異なる例外をスローした場合、あなたはおそらく、この
@HystrixCommand(ignoreExceptions = {SomeException.class})
のようなこれらの例外を無視することができますしかし、あなたは、エラーメッセージの例外拠点を無視する必要があるならば、これを対処するための最良の方法ですあなたの外部の呼び出しの周りにキャッチキャッチします。 catchブロックでは、無視する必要がある例外の1つであるかどうかをチェックします。もしそうなら、何もしないでください。この例外を再発行しない場合このようなことが起こります。さらに詳しい情報HystrixBadRequestException
@HystrixCommand(fallbackMethod = "fallBackMethod", groupKey = "CircuitBreaker", commandKey = "somekey", threadPoolKey = "somekey",
commandProperties = {
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "10000"),
@HystrixProperty(name = "execution.timeout.enabled", value = "false"),
@HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "20"),
@HystrixProperty(name = "circuitBreaker.sleepWindowInMilliseconds", value = "1200000"),
},
threadPoolProperties = {
@HystrixProperty(name = "coreSize", value = "30"),
@HystrixProperty(name = "metrics.rollingStats.timeInMilliseconds", value = "180000")
})
public void someMethod(....){
try {
// Call external service
} catch(Exception e) {
if(exception to be ignored)
throw new HystrixBadRequestException("Some message", e);
else
throw e
}
}
関連する問題
- 1. 例外を無視することはできますか?
- 2. このランタイム例外を無視することを選択しましたjava.lang.UnsupportedOperationException
- 3. C#コード内でスローされた例外を選択的に無視します。
- 4. Visual Studioのデバッグ - ある場所で例外を無視し、どこかで例外を無視しますか?
- 5. PDOに無効なパラメータ番号の例外を無視させることはできますか?
- 6. Qtでマウスイベントを選択的に無視する
- 7. C#で例外を無視する
- 8. ウェブ例外を無効にすることはできますか?
- 9. KeyErrorを無視することはできますか?
- 10. @JsonSerializeアノテーションを無視することはできますか?
- 11. SQLテーブルエイリアスを無視することはできますか?
- 12. は、選択ボックスを無効にすることはできますが、同様のコードで最初の子を選択することはできません
- 13. 最後に例外を無視しようとしますか?
- 14. IKImageBrowserViewで空の選択を無効にすることはできません
- 15. コンボボックスオプションを無効にしないで選択できないようにすることはできますか?
- 16. Xcodeで「潜在的なリーク」とは何ですか?無視することはできますか?
- 17. SWIG:選択的例外ハンドラを再利用しますか?
- 18. firefoxの選択フィールドでmousedownを無効にするか無視する
- 19. netflix hystrixライブラリのヌルポインタ例外
- 20. ghci desugarがリストとタイプファミリーを入力するのはなぜですか?これを選択的に無効にすることはできますか?
- 21. GSON - 解析例外を無視する
- 22. Akkaでkamon監視を無効にすることはできますか?
- 23. Findbugs - 例外的な戻り値を無視するメソッド
- 24. 匿名型を選択することはできますか?
- 25. Python正規表現で文字列を選択的に無視する方法はありますか?
- 26. Boostライブラリで例外とRTTIを無効にすることはできますか?
- 27. 関数を部分的または選択的にインライン化することはできますか?
- 28. mscorlibでPostSharp OnException(例外を無視する) - 危険は何ですか?
- 29. python - 例外トレースバックの選択的処理
- 30. Powershellは無視する列を選択します
お返事ありがとうございました。私の問題は、例外を呼び出し元に返すことです。ちょうど私は例外がいくつかのケースで失敗と見なされないようにしたい。 – user9070814
私は自分の答えを修正しました。見てみましょう。ドキュメントhttp://netflix.github.io/Hystrix/javadoc/com/netflix/hystrix/exception/HystrixBadRequestException.htmlによると、それは動作するはずです。私はそれを試していませんが – pvpkiran