2017-01-03 5 views
2

私はSpring Web Applicationを持っています。これは、一部のデータのコンテンツプロバイダを呼び出します。コンテンツプロバイダのサービスが失敗し、アプリケーションが応答しなくなるという一般的な問題となっています。コンテンツプロバイダサービスがアプリケーションレベルでアップまたはダウンしていることをチェックし、適切に処理するための最良のアプローチまたは設計は何でしょうか。Java Springアプリケーションでコンテンツプロバイダのエラーを処理する最善の方法

答えて

0

circuit breakerパターンとHystrixライブラリを使用できます。

@HystrixCommandの注釈付きメソッドを監視し、特定のしきい値に達した場合は、fallbackMethodへのコールのリダイレクトを開始し、サービスの継続を可能にし、障害から復旧する時間を与えます。次のようにアクションでそれを示して

簡単な抜粋です:答えのための

@Service 
public class BookService { 

    ... 

    @HystrixCommand(fallbackMethod = "reliable") 
    public String readingList() { 
    ... 
    } 

    public String reliable() { 
    ... 
    } 

} 
+0

感謝。私のCPコールが多くのサービスに存在するとしますが、サービスごとにこれを追加する必要がありますか?アプリケーションレベルで設定できますか? – user2968937

+0

はい、設定が変わってしまいます。より大きなコンテキストがなければ答えが簡単ではなく、https://github.com/Netflix/Hystrix/wiki/How-To-Useをチェックアウトしてください。あなたのケースはより良くフィットするかもしれません。しかし、短い答えは「はい」です –

関連する問題