此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring-Cloud-CircuitBreaker 3.1.3! |
默认配置
要为所有断路器提供默认配置,请创建一个Customizer
bean 的 bean 传递一个Resilience4JCircuitBreakerFactory
或ReactiveResilience4JCircuitBreakerFactory
.
这configureDefault
method 可用于提供默认配置。
@Bean
public Customizer<Resilience4JCircuitBreakerFactory> defaultCustomizer() {
return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id)
.timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(4)).build())
.circuitBreakerConfig(CircuitBreakerConfig.ofDefaults())
.build());
}
反应式示例
@Bean
public Customizer<ReactiveResilience4JCircuitBreakerFactory> defaultCustomizer() {
return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id)
.circuitBreakerConfig(CircuitBreakerConfig.ofDefaults())
.timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(4)).build()).build());
}
自定义 ExecutorService
如果要配置ExecutorService
它执行断路器,您可以使用Resilience4JCircuitBreakerFactory
.
例如,如果您想使用上下文感知ExecutorService
您可以执行以下作。
@Bean
public Customizer<ReactiveResilience4JCircuitBreakerFactory> defaultCustomizer() {
return factory -> {
ContextAwareScheduledThreadPoolExecutor executor = ContextAwareScheduledThreadPoolExecutor.newScheduledThreadPool().corePoolSize(5)
.build();
factory.configureExecutorService(executor);
};
}