需要同时使用SimpleRetryPolicy和TimeoutRetryPolicy,以便为重试模板设置max-attempt和timeout
@Bean
@Qualifier(value = "MyRetryBean")
public RetryTemplate grafanaRetryTemplate() {
RetryTemplate retryTemplate = new RetryTemplate();
FixedBackOffPolicy fixedBackOffPolicy = new FixedBackOffPolicy();
fixedBackOffPolicy.setBackOffPeriod(4000);
retryTemplate.setBackOffPolicy(fixedBackOffPolicy);
SimpleRetryPolicy retryPolicy = new SimpleRetryPolicy();
retryPolicy.setMaxAttempts(4);
retryTemplate.setRetryPolicy(retryPolicy);
TimeoutRetryPolicy timeOutretryPolicy = new TimeoutRetryPolicy();
timeOutretryPolicy.setTimeout(100000);
retryTemplate.setRetryPolicy(timeOutretryPolicy);
return retryTemplate;
}
答案 0 :(得分:0)
您只能有一项政策。使用CompositeRetryPolicy组合它们。