重试的具体规定如下:
class="org.springframework.integration.handler.advice.RequestHandlerRetryAdvice" >
我预计每次尝试时间间隔都会增加3倍.实际上我得到了以下间隔:
5,15,30,30,30秒.请参阅下面的确切时间和间隔.
我错误地指定了什么?
2016-05-10 10:07:49,714 - 0
2016-05-10 10:07:55,085 - 5.2
2016-05-10 10:08:10,457 - 15.4
2016-05-10 10:08:40,830 - 30.4
2016-05-10 10:09:11,230 - 30.4
2016-05-10 10:09:41,639 - 30.4
解决方法:
有maxInterval需要考虑:
/**
* Setter for maximum back off period. Default is 30000 (30 seconds). the
* value will be reset to 1 if this method is called with a value less than
* 1. Set this to avoid infinite waits if backing off a large number of
* times (or if the multiplier is set too high).
*
* @param maxInterval in milliseconds.
*/
public void setMaxInterval(long maxInterval) {
this.maxInterval = maxInterval > 0 ? maxInterval : 1;
}
因此,当您的ExponentialBackOffPolicy达到30秒(默认值)时,它将停止使用乘数.
标签:java,spring,spring-integration,spring-retry
来源: https://codeday.me/bug/20190527/1166861.html