需要一起使用SimpleRetryPolicy和TimeoutRetryPolicy,以便我可以为retrytemplate设置max-attempt和timeout

时间:2019-09-06 07:18:15

标签: spring-retry

需要同时使用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;
}

1 个答案:

答案 0 :(得分:0)

您只能有一项政策。使用CompositeRetryPolicy组合它们。