Resilience4j version: 1.7.1
Java version: 11
Micronaut version: 3.2.7
Can we change the CircuitBreaker Properties of an instance dynamically while the application is running? The following returns an existing Bean or creates a new one.
/**
* Returns a managed {@link CircuitBreaker} or creates a new one with a custom CircuitBreaker
* configuration.
*
* @param name the name of the CircuitBreaker
* @param config a custom CircuitBreaker configuration
* @return The {@link CircuitBreaker}
*/
CircuitBreaker circuitBreaker(String name, CircuitBreakerConfig config);
At start up of the application, I am doing this to create the CircuitBreakerRegistry and adding an instance myInstanceA
to the circuitBreakerRegistry entryMap.
// Create a custom configuration CircuitBreaker
val circuitBreakerConfig: CircuitBreakerConfig = CircuitBreakerConfig.custom()
.slidingWindowSize(10)
.minimumNumberOfCalls(5)
.permittedNumberOfCallsInHalfOpenState(3)
.automaticTransitionFromOpenToHalfOpenEnabled(true)
.waitDurationInOpenState(Duration.ofMillis(5000))
.failureRateThreshold(50F)
.build()
circuitBreakerRegistry = CircuitBreakerRegistry.of(circuitBreakerConfig)
val cb: CircuitBreaker = circuitBreakerRegistry.circuitBreaker("myInstanceA", circuitBreakerConfig)
After start up, at a later time, if I want to change the failureRateThreshold
to 70F
for the instance myInstanceA
, is that an option in Micronaut
?