Giriş
RetryPolicy determines when an operation should be retried. A SimpleRetryPolicy is used to retry a fixed number of times.
constructor
Örnek
Şöyle yaparız
public class PayApiRetryTemplate extends RetryTemplate implements InitializingBean { private final PayApiConnProp prop; private final Class<? extends ApiException>[] exceptions; @Override public void afterPropertiesSet() throws Exception { this.setBackOffPolicy(...); this.setRetryPolicy(retryPolicy()); } private Map<Class<? extends Throwable>, Boolean> includedExceptions() { Map<Class<? extends Throwable>, Boolean> includedExceptions = new HashMap<>(); for (Class<? extends ApiException> exception : this.exceptions) { includedExceptions.put(exception, true); } return includedExceptions; } private RetryPolicy retryPolicy() { return new SimpleRetryPolicy(this.prop.getRetry().getMaxAttempts(), includedExceptions()); } }
setMaxAttempts metodu
Örnek
Şöyle yaparız
import org.springframework.retry.annotation.EnableRetry;import org.springframework.retry.backoff.FixedBackOffPolicy;import org.springframework.retry.policy.SimpleRetryPolicy;import org.springframework.retry.support.RetryTemplate;@SpringBootApplication@EnableRetry@EnableJpaRepositories(basePackages = "com.betterjavacode.retrydemo.daos")public class RetrydemoApplication {@Beanpublic RetryTemplate retryTemplate(){RetryTemplate retryTemplate = new RetryTemplate();FixedBackOffPolicy backOffPolicy = new FixedBackOffPolicy();backOffPolicy.setBackOffPeriod(100);SimpleRetryPolicy simpleRetryPolicy = new SimpleRetryPolicy();simpleRetryPolicy.setMaxAttempts(2);retryTemplate.setRetryPolicy(simpleRetryPolicy);retryTemplate.setBackOffPolicy(backOffPolicy);return retryTemplate;}}
Hiç yorum yok:
Yorum Gönder