Closed mqueb closed 3 years ago
currently:
public Resilience4JCircuitBreakerFactory( CircuitBreakerRegistry circuitBreakerRegistry, TimeLimiterRegistry timeLimiterRegistry, Resilience4jBulkheadProvider bulkheadProvider) { this.circuitBreakerRegistry = circuitBreakerRegistry; this.timeLimiterRegistry = timeLimiterRegistry; this.bulkheadProvider = bulkheadProvider; this.defaultConfiguration = id -> new Resilience4JConfigBuilder(id) .circuitBreakerConfig(this.circuitBreakerRegistry.getDefaultConfig()) .timeLimiterConfig(this.timeLimiterRegistry.getDefaultConfig()).build(); }
could be:
public Resilience4JCircuitBreakerFactory( CircuitBreakerRegistry circuitBreakerRegistry, TimeLimiterRegistry timeLimiterRegistry, Resilience4jBulkheadProvider bulkheadProvider) { this.circuitBreakerRegistry = circuitBreakerRegistry; this.timeLimiterRegistry = timeLimiterRegistry; this.bulkheadProvider = bulkheadProvider; this.defaultConfiguration = id -> new Resilience4JConfigBuilder(id) .circuitBreakerConfig(this.circuitBreakerRegistry.circuitBreaker(id).getCircuitBreakerConfig()) .timeLimiterConfig(this.timeLimiterRegistry.timeLimiter(id).getTimeLimiterConfig()).build(); }
that way a config like:
resilience4j: circuitbreaker: configs: default: minimumNumberOfCalls: 5 failureRateThreshold: 60 waitDurationInOpenState: 5000 slowCallDurationThreshold: 2000 communicationExterne: minimumNumberOfCalls: 5 failureRateThreshold: 70 waitDurationInOpenState: 7000 slowCallDurationThreshold: 2500 ignoreExceptions: - com.ffdffd.commons.domaine.exception.CommunicationExterneApiException instances: envoyerSms: baseConfig: communicationExterne appelVocal: baseConfig: communicationExterne envoiCourriel: baseConfig: communicationExterne
with circuitBreakerFactory.create("envoyerSms") i will get my config without code
circuitBreakerFactory.create("envoyerSms")
same pattern for bulkHead
currently:
could be:
that way a config like:
with
circuitBreakerFactory.create("envoyerSms")
i will get my config without codesame pattern for bulkHead