デフォルト構成
すべてのサーキットブレーカーにデフォルト構成を提供するには、Resilience4JCircuitBreakerFactory
または ReactiveResilience4JCircuitBreakerFactory
が渡される Customizer
Bean を作成します。configureDefault
メソッドを使用して、デフォルト構成を提供できます。
@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);
};
}