@Bean @ConditionalOnMissingBean(name = "configServerRetryInterceptor") public RetryOperationsInterceptor configServerRetryInterceptor( RetryProperties properties) { return RetryInterceptorBuilder .stateless() .backOffOptions(properties.getInitialInterval(), properties.getMultiplier(), properties.getMaxInterval()) .maxAttempts(properties.getMaxAttempts()).build(); } }
@Override public StatefulRetryInterceptorBuilder backOffOptions(long initialInterval, double multiplier, long maxInterval) { super.backOffOptions(initialInterval, multiplier, maxInterval); return this; }
@Override public StatefulRetryInterceptorBuilder backOffPolicy(BackOffPolicy policy) { super.backOffPolicy(policy); return this; }
private MethodInterceptor getStatelessInterceptor(Object target, Method method, Retryable retryable) { RetryTemplate template = createTemplate(retryable.listeners()); template.setRetryPolicy(getRetryPolicy(retryable)); template.setBackOffPolicy(getBackoffPolicy(retryable.backoff())); return RetryInterceptorBuilder.stateless() .retryOperations(template) .label(retryable.label()) .recoverer(getRecoverer(target, method)) .build(); }
label = method.toGenericString(); return RetryInterceptorBuilder.circuitBreaker() .keyGenerator(new FixedKeyGenerator("circuit")) .retryOperations(template) .recoverer(getRecoverer(target, method)) .label(label) .build(); template.setBackOffPolicy(getBackoffPolicy(retryable.backoff())); String label = retryable.label(); return RetryInterceptorBuilder.stateful() .keyGenerator(this.methodArgumentsKeyGenerator) .newMethodArgumentsIdentifier(this.newMethodArgumentsIdentifier) .retryOperations(template) .label(label) .recoverer(getRecoverer(target, method)) .build();
@Override public CircuitBreakerInterceptorBuilder maxAttempts(int maxAttempts) { super.maxAttempts(maxAttempts); return this; }
private MethodInterceptor getStatelessInterceptor(Object target, Method method, Retryable retryable) { RetryTemplate template = createTemplate(retryable.listeners()); template.setRetryPolicy(getRetryPolicy(retryable)); template.setBackOffPolicy(getBackoffPolicy(retryable.backoff())); return RetryInterceptorBuilder.stateless() .retryOperations(template) .label(retryable.label()) .recoverer(getRecoverer(target, method)) .build(); }
label = method.toGenericString(); return RetryInterceptorBuilder.circuitBreaker() .keyGenerator(new FixedKeyGenerator("circuit")) .retryOperations(template) .recoverer(getRecoverer(target, method)) .label(label) .build(); template.setBackOffPolicy(getBackoffPolicy(retryable.backoff())); String label = retryable.label(); return RetryInterceptorBuilder.stateful() .keyGenerator(this.methodArgumentsKeyGenerator) .newMethodArgumentsIdentifier(this.newMethodArgumentsIdentifier) .retryOperations(template) .label(label) .recoverer(getRecoverer(target, method)) .build();
@Override public StatefulRetryInterceptorBuilder maxAttempts(int maxAttempts) { super.maxAttempts(maxAttempts); return this; }
@Bean @ConditionalOnMissingBean(name = "configServerRetryInterceptor") public RetryOperationsInterceptor configServerRetryInterceptor() { log.info("Creating custom retry interceptor"); return RetryInterceptorBuilder.stateless().backOffOptions(3000, 1.5, 10000) .maxAttempts(10).build(); }
@Override public CircuitBreakerInterceptorBuilder maxAttempts(int maxAttempts) { super.maxAttempts(maxAttempts); return this; }
@Override public StatefulRetryInterceptorBuilder backOffPolicy(BackOffPolicy policy) { super.backOffPolicy(policy); return this; }
@Override public StatefulRetryInterceptorBuilder backOffOptions(long initialInterval, double multiplier, long maxInterval) { super.backOffOptions(initialInterval, multiplier, maxInterval); return this; }
@Bean @ConditionalOnMissingBean(name = "configServerRetryInterceptor") public RetryOperationsInterceptor configServerRetryInterceptor() { log.info(String.format( "configServerRetryInterceptor: Changing backOffOptions " + "to initial: %s, multiplier: %s, maxInterval: %s", 1000, 1.2, 5000)); return RetryInterceptorBuilder .stateless() .backOffOptions(1000, 1.2, 5000) .maxAttempts(10) .build(); }
@Override public StatefulRetryInterceptorBuilder maxAttempts(int maxAttempts) { super.maxAttempts(maxAttempts); return this; }
@Bean(name = "consulRetryInterceptor") @ConditionalOnMissingBean(name = "consulRetryInterceptor") public RetryOperationsInterceptor consulRetryInterceptor( RetryProperties properties) { return RetryInterceptorBuilder .stateless() .backOffOptions(properties.getInitialInterval(), properties.getMultiplier(), properties.getMaxInterval()) .maxAttempts(properties.getMaxAttempts()).build(); } }
@Bean @ConditionalOnMissingBean(name = "configServerRetryInterceptor") public RetryOperationsInterceptor configServerRetryInterceptor( RetryProperties properties) { return RetryInterceptorBuilder .stateless() .backOffOptions(properties.getInitialInterval(), properties.getMultiplier(), properties.getMaxInterval()) .maxAttempts(properties.getMaxAttempts()).build(); } }
@Bean(name = "consulRetryInterceptor") @ConditionalOnMissingBean(name = "consulRetryInterceptor") public RetryOperationsInterceptor consulRetryInterceptor( RetryProperties properties) { return RetryInterceptorBuilder .stateless() .backOffOptions(properties.getInitialInterval(), properties.getMultiplier(), properties.getMaxInterval()) .maxAttempts(properties.getMaxAttempts()).build(); } }