URL を呼び出す必要があり、呼び出しによって 404、500 などの不正な http コードが返される可能性があります。これらのエラーが発生したときに再試行機能を実装したいと考えています。新しい呼び出しは 1 時間ごとに最大 10 回行われます。
私は async-http-client ライブラリを使用して POST 呼び出しを非同期に行っています。
何か考えはありますか?
よろしくお願いします。
URL を呼び出す必要があり、呼び出しによって 404、500 などの不正な http コードが返される可能性があります。これらのエラーが発生したときに再試行機能を実装したいと考えています。新しい呼び出しは 1 時間ごとに最大 10 回行われます。
私は async-http-client ライブラリを使用して POST 呼び出しを非同期に行っています。
何か考えはありますか?
よろしくお願いします。
Spring Retry機能を検討する価値があります。
この API は、再試行する内容に依存しないように構築されており、再試行ポリシー、バックオフ、再試行回数の制限などに関係しています。
Java 7/8 を使用している場合の別の可能性はAsyncRetryExecutorです。例えば
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
RetryExecutor executor = new AsyncRetryExecutor(scheduler).
retryOn(SocketException.class).
withExponentialBackoff(500, 2). //500ms times 2 after each retry
withMaxDelay(10_000). //10 seconds
withUniformJitter(). //add between +/- 100 ms randomly
withMaxRetries(20);