RetryConfig.java
1 KB
package com.infoloop.tianting.config;
import org.springframework.context.annotation.Bean;
import org.springframework.retry.annotation.EnableRetry;
import org.springframework.retry.backoff.ExponentialBackOffPolicy;
import org.springframework.retry.policy.SimpleRetryPolicy;
import org.springframework.retry.support.RetryTemplate;
@EnableRetry
public class RetryConfig {
@Bean
public RetryTemplate retryTemplate() {
final var retryTemplate = new RetryTemplate();
final var retryPolicy = new SimpleRetryPolicy();
retryPolicy.setMaxAttempts(3);//设置最大重试次数
final var backOffPolicy = new ExponentialBackOffPolicy();
backOffPolicy.setInitialInterval(5000);//设置初始重试间隔
backOffPolicy.setMultiplier(2);//设置重试间隔倍数
backOffPolicy.setMaxInterval(10000);//设置最大重试间隔
retryTemplate.setRetryPolicy(retryPolicy);
retryTemplate.setBackOffPolicy(backOffPolicy);
return retryTemplate;
}
}