[英]How implements a retry feature on bad http code with AsyncHttpClient?
我需要调用一个URL,并且有可能该调用返回错误的HTTP代码,例如404、500等。当我收到这些错误时,我想实现一个重试功能:一个新的调用将每小时进行一次,最多10次。
我使用async-http-client库执行POST调用async。
你有什么主意吗?
在此先感谢您的帮助。
值得考虑使用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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.