問題タブ [retry-logic]
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.
java - キャッチ後に再試行
私が使用したロジックは次のとおりです。
リトライ回数は本来の動作も考慮しています。しかし、問題は
- 何も割り当てずに try ブロックから直接戻った場合、SCA (Fortify for me) は変数の再試行が (成功フローで) 読み取られないことを報告し、
- 上記のように割り当てて実行すると、SCA は再試行変数への値の即時の再割り当てについて、それを読み取ることさえせずに叫びます。
考慮事項:
- 最初の呼び出しは、「再試行」のために読み取った値とは無関係である必要があります
- コードの重複は避けるべきであり、再帰を避けるのも良いでしょう。
単純なことかもしれませんが、おそらく私はそれを理解していません。提案してください。
java - RestTemplate インターセプターで execution.execute() を 2 回呼び出す
各リクエストでアクセストークンを送信する必要がある外部サービスと統合する必要があります。アクセス トークンの有効期限は短い (わずか数時間)。アクセス トークンを楽観的に使用することにしました。現在のトークンで外部サービスを呼び出します。401 を取得した場合は、トークンを更新して、もう一度外部 API を呼び出します。
ClientHttpRequestInterceptor を使用して、説明した再試行メカニズムを実装することにしました。
テストしましたが動作しますが、execution.execute() を 2 回呼び出すことはできますか? 禁止されているという情報は見つかりませんでしたが、一方でそのようなコードも見たことがありません。