public Builder buildCircuitBreakerConfig(BackendProperties properties) { if (properties == null) { return new Builder(); } Builder builder = CircuitBreakerConfig.custom(); if (properties.getWaitDurationInOpenState() != null) { builder.waitDurationInOpenState(properties.getWaitDurationInOpenState()); } if (properties.getFailureRateThreshold() != null) { builder.failureRateThreshold(properties.getFailureRateThreshold()); } if (properties.getRingBufferSizeInClosedState() != null) { builder.ringBufferSizeInClosedState(properties.getRingBufferSizeInClosedState()); } if (properties.getRingBufferSizeInHalfOpenState() != null) { builder.ringBufferSizeInHalfOpenState(properties.getRingBufferSizeInHalfOpenState()); } if (properties.recordFailurePredicate != null) { buildRecordFailurePredicate(properties, builder); } if (properties.recordExceptions != null) { builder.recordExceptions(properties.recordExceptions); } if (properties.ignoreExceptions != null) { builder.ignoreExceptions(properties.ignoreExceptions); } return builder; }
public Builder buildCircuitBreakerConfig(BackendProperties properties) { if (properties == null) { return new Builder(); } Builder builder = CircuitBreakerConfig.custom(); if (properties.getWaitDurationInOpenState() != null) { builder.waitDurationInOpenState(properties.getWaitDurationInOpenState()); } if (properties.getFailureRateThreshold() != null) { builder.failureRateThreshold(properties.getFailureRateThreshold()); } if (properties.getRingBufferSizeInClosedState() != null) { builder.ringBufferSizeInClosedState(properties.getRingBufferSizeInClosedState()); } if (properties.getRingBufferSizeInHalfOpenState() != null) { builder.ringBufferSizeInHalfOpenState(properties.getRingBufferSizeInHalfOpenState()); } if (properties.recordFailurePredicate != null) { buildRecordFailurePredicate(properties, builder); } if (properties.recordExceptions != null) { builder.recordExceptions(properties.recordExceptions); } if (properties.ignoreExceptions != null) { builder.ignoreExceptions(properties.ignoreExceptions); } return builder; }
/** * Returns a builder to create a custom CircuitBreakerConfig. * * @return a {@link Builder} */ public static Builder custom(){ return new Builder(); }
/** * Creates a default CircuitBreaker configuration. * * @return a default CircuitBreaker configuration. */ public static CircuitBreakerConfig ofDefaults(){ return new Builder().build(); }