1

URL を呼び出す必要があり、呼び出しによって 404、500 などの不正な http コードが返される可能性があります。これらのエラーが発生したときに再試行機能を実装したいと考えています。新しい呼び出しは 1 時間ごとに最大 10 回行われます。

私は async-http-client ライブラリを使用して POST 呼び出しを非同期に行っています。

何か考えはありますか?

よろしくお願いします。

4

1 に答える 1

2

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);
于 2014-03-05T10:39:34.690 に答える