0
我需要調用一個url,並且可能會返回錯誤的http代碼,如404,500等。我想在遇到這些錯誤時執行重試功能:每個小時將進行一次新呼叫,最多進行十次呼叫。如何使用AsyncHttpClient在糟糕的http代碼上實現重試功能?
我使用async-http-client庫來執行我的POST調用異步。
你有什麼想法嗎?
在此先感謝您的幫助。
我需要調用一個url,並且可能會返回錯誤的http代碼,如404,500等。我想在遇到這些錯誤時執行重試功能:每個小時將進行一次新呼叫,最多進行十次呼叫。如何使用AsyncHttpClient在糟糕的http代碼上實現重試功能?
我使用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);