@@ -544,27 +544,21 @@ retrofit:
544
544
545
545
` ` ` java
546
546
547
- @Slf4j
548
547
@Component
549
- public class CustomSourceOkHttpClientRegistrar implements SourceOkHttpClientRegistrar {
548
+ public class CustomCircuitBreakerConfigRegistrar implements CircuitBreakerConfigRegistrar {
550
549
551
550
@Override
552
- public void register(SourceOkHttpClientRegistry registry) {
551
+ public void register(CircuitBreakerConfigRegistry registry) {
553
552
554
- // 替换默认的SourceOkHttpClient
555
- registry.register(Constants.DEFAULT_SOURCE_OK_HTTP_CLIENT, new OkHttpClient.Builder()
556
- .addInterceptor(chain -> {
557
- log.info("============替换默认的SourceOkHttpClient=============");
558
- return chain.proceed(chain.request());
559
- })
560
- .build());
553
+ // 替换默认的CircuitBreakerConfig
554
+ registry.register(Constants.DEFAULT_CIRCUIT_BREAKER_CONFIG, CircuitBreakerConfig.ofDefaults());
561
555
562
- // 添加新的SourceOkHttpClient
563
- registry.register("testSourceOkHttpClient ", new OkHttpClient.Builder ()
564
- .addInterceptor(chain -> {
565
- log.info("============使用testSourceOkHttpClient=============");
566
- return chain.proceed(chain.request());
567
- } )
556
+ // 注册其它的CircuitBreakerConfig
557
+ registry.register("testCircuitBreakerConfig ", CircuitBreakerConfig.custom ()
558
+ .slidingWindowType(CircuitBreakerConfig.SlidingWindowType.TIME_BASED)
559
+ .failureRateThreshold(20)
560
+ .minimumNumberOfCalls(5)
561
+ .permittedNumberOfCallsInHalfOpenState(5 )
568
562
.build());
569
563
}
570
564
}
0 commit comments