問題タブ [circuit-breaker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asynchronous - Spring-REST の @Async メソッドを、非同期フォールバックを使用して非同期 @HystrixCommand メソッドに変換する
@Service クラスで @Async としてマークされたメソッドがあります。これは Future 型を返します。
このメソッドは基本的に、別の URL (ここでは URL としてマークされています) でサービスを呼び出すクライアントとして機能します。
この @Async メソッドを次の形式の非同期 @HystrixCommand メソッドに変換したいと考えています。
しかし、これを行うと、コードに次のエラーがスローされます。
return new AsyncResult<Object>() {...}
それが言う行のために
コンストラクタ AsyncResult() は未定義です。
Eclipse にエラーを修正するように依頼すると、requestString
Object がコンストラクター パラメーターに追加されます。AsyncResult<Object>(requestString)
また、メソッド@Override
からを削除するように求められます。invoke()
その言う
タイプ new AsyncResult(){} のメソッド invoke() は、スーパータイプ メソッドをオーバーライドまたは実装する必要があります。
しかし、Eclipseにエラーを修正するように依頼すると、@Override
私の質問は、これらの問題なしで @Async メソッドを非同期 @HystrixCommand メソッドにするにはどうすればよいですか?
また、応答ステータス コードが 200 でない場合にユーザーにデフォルト メッセージを表示する、このメソッドの非同期フォールバックを実装したいと思います。
どうすればこれを行うことができますか?
ありがとうございました。