diff --git a/spring-cloud-circuitbreaker-hystrix/src/test/java/org/springframework/cloud/circuitbreaker/hystrix/ReactiveHystrixCircuitBreakerIntegrationTest.java b/spring-cloud-circuitbreaker-hystrix/src/test/java/org/springframework/cloud/circuitbreaker/hystrix/ReactiveHystrixCircuitBreakerIntegrationTest.java index 6fdf2b6..f6d1681 100644 --- a/spring-cloud-circuitbreaker-hystrix/src/test/java/org/springframework/cloud/circuitbreaker/hystrix/ReactiveHystrixCircuitBreakerIntegrationTest.java +++ b/spring-cloud-circuitbreaker-hystrix/src/test/java/org/springframework/cloud/circuitbreaker/hystrix/ReactiveHystrixCircuitBreakerIntegrationTest.java @@ -72,21 +72,17 @@ public class ReactiveHystrixCircuitBreakerIntegrationTest { } @Bean - public Customizer> customizer() { + public Customizer customizer() { return factory -> factory.configure(builder -> builder.commandProperties( HystrixCommandProperties.Setter().withExecutionTimeoutInMilliseconds(2000)), "slow"); } @Bean - public Customizer> defaultConfig() { - return factory -> factory.configureDefault(id -> { - return HystrixObservableCommand.Setter.withGroupKey(HystrixCommandGroupKey.Factory.asKey(id)) - .andCommandPropertiesDefaults(HystrixCommandProperties.Setter() - .withExecutionTimeoutInMilliseconds(4000)); - - }); + public Customizer defaultConfig() { + return factory -> factory.configureDefault(id -> HystrixObservableCommand.Setter + .withGroupKey(HystrixCommandGroupKey.Factory.asKey(id)) + .andCommandPropertiesDefaults(HystrixCommandProperties.Setter() + .withExecutionTimeoutInMilliseconds(4000))); } @Service diff --git a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JAutoConfiguration.java b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JAutoConfiguration.java index 536863a..6d22e28 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JAutoConfiguration.java +++ b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JAutoConfiguration.java @@ -37,16 +37,12 @@ import org.springframework.context.annotation.Configuration; @ConditionalOnClass(name = {"reactor.core.publisher.Mono", "reactor.core.publisher.Flux"}) public class ReactiveResilience4JAutoConfiguration { - @Autowired(required = false) - public List> circuitBreakerCustomizers = new ArrayList<>(); - @Bean @ConditionalOnMissingBean(ReactiveCircuitBreakerFactory.class) public ReactiveCircuitBreakerFactory reactiveResilience4JCircuitBreakerFactory() { - return new ReactiveResilience4JCircuitBreakerFactory(circuitBreakerCustomizers); + return new ReactiveResilience4JCircuitBreakerFactory(); } - @Configuration @ConditionalOnClass(name = {"reactor.core.publisher.Mono", "reactor.core.publisher.Flux"}) public static class ReactiveResilience4JCustomizerConfiguration { diff --git a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreaker.java b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreaker.java index e1e08c0..66d2ec0 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreaker.java +++ b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreaker.java @@ -22,6 +22,7 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import java.util.List; +import java.util.Optional; import java.util.concurrent.TimeoutException; import java.util.function.Function; @@ -37,21 +38,21 @@ public class ReactiveResilience4JCircuitBreaker implements ReactiveCircuitBreake private String id; private Resilience4JConfigBuilder.Resilience4JCircuitBreakerConfiguration config; private CircuitBreakerRegistry registry; - private List> circuitBreakerCustomizers; + private Optional> circuitBreakerCustomizer; public ReactiveResilience4JCircuitBreaker(String id, Resilience4JConfigBuilder.Resilience4JCircuitBreakerConfiguration config, CircuitBreakerRegistry circuitBreakerRegistry, - List> circuitBreakerCustomizers) { + Optional> circuitBreakerCustomizer) { this.id = id; this.config = config; this.registry = circuitBreakerRegistry; - this.circuitBreakerCustomizers = circuitBreakerCustomizers; + this.circuitBreakerCustomizer = circuitBreakerCustomizer; } @Override public Mono run(Mono toRun, Function> fallback) { io.github.resilience4j.circuitbreaker.CircuitBreaker defaultCircuitBreaker = registry.circuitBreaker(id, config.getCircuitBreakerConfig()); - circuitBreakerCustomizers.forEach(circuitBreakerCustomizer -> circuitBreakerCustomizer.customize(defaultCircuitBreaker)); + circuitBreakerCustomizer.ifPresent(customizer -> customizer.customize(defaultCircuitBreaker)); Mono toReturn = toRun.transform(CircuitBreakerOperator.of(defaultCircuitBreaker)) .timeout(config.getTimeLimiterConfig().getTimeoutDuration()) // Since we are using the Mono timeout we need to tell the circuit breaker about the error @@ -64,7 +65,7 @@ public class ReactiveResilience4JCircuitBreaker implements ReactiveCircuitBreake public Flux run(Flux toRun, Function> fallback) { io.github.resilience4j.circuitbreaker.CircuitBreaker defaultCircuitBreaker = registry.circuitBreaker(id, config.getCircuitBreakerConfig()); - circuitBreakerCustomizers.forEach(circuitBreakerCustomizer -> circuitBreakerCustomizer.customize(defaultCircuitBreaker)); + circuitBreakerCustomizer.ifPresent(customizer -> customizer.customize(defaultCircuitBreaker)); Flux toReturn = toRun.transform(CircuitBreakerOperator.of(defaultCircuitBreaker)) .timeout(config.getTimeLimiterConfig().getTimeoutDuration()) // Since we are using the Flux timeout we need to tell the circuit breaker about the error diff --git a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerFactory.java b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerFactory.java index 8820730..4167106 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerFactory.java +++ b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerFactory.java @@ -20,7 +20,10 @@ import io.github.resilience4j.circuitbreaker.CircuitBreakerConfig; import io.github.resilience4j.circuitbreaker.CircuitBreakerRegistry; import io.github.resilience4j.timelimiter.TimeLimiterConfig; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.function.Function; import org.springframework.cloud.circuitbreaker.commons.Customizer; @@ -40,18 +43,14 @@ public class ReactiveResilience4JCircuitBreakerFactory extends ReactiveCircuitBr .build(); private CircuitBreakerRegistry circuitBreakerRegistry = CircuitBreakerRegistry.ofDefaults(); - private List> circuitBreakerCustomizers; - - public ReactiveResilience4JCircuitBreakerFactory(List> circuitBreakerCustomizers) { - this.circuitBreakerCustomizers = circuitBreakerCustomizers; - } + private Map> circuitBreakerCustomizers = new HashMap<>(); @Override public ReactiveCircuitBreaker create(String id) { Assert.hasText(id, "A CircuitBreaker must have an id."); Resilience4JConfigBuilder.Resilience4JCircuitBreakerConfiguration config = getConfigurations().computeIfAbsent(id, defaultConfiguration); return new ReactiveResilience4JCircuitBreaker(id, config, - circuitBreakerRegistry, circuitBreakerCustomizers); + circuitBreakerRegistry, Optional.ofNullable(circuitBreakerCustomizers.get(id))); } @Override @@ -67,4 +66,10 @@ public class ReactiveResilience4JCircuitBreakerFactory extends ReactiveCircuitBr public void configureCircuitBreakerRegistry(CircuitBreakerRegistry registry) { this.circuitBreakerRegistry = registry; } + + public void addCircuitBreakerCustomizer(Customizer customizer, String... ids) { + for(String id : ids) { + circuitBreakerCustomizers.put(id, customizer); + } + } } diff --git a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JAutoConfiguration.java b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JAutoConfiguration.java index 28c7443..9d972d2 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JAutoConfiguration.java +++ b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JAutoConfiguration.java @@ -36,13 +36,10 @@ import org.springframework.context.annotation.Configuration; @Configuration public class Resilience4JAutoConfiguration { - @Autowired(required = false) - public List> circuitBreakerCustomizers = new ArrayList<>(); - @Bean @ConditionalOnMissingBean(CircuitBreakerFactory.class) public CircuitBreakerFactory resilience4jCircuitBreakerFactory() { - return new Resilience4JCircuitBreakerFactory(circuitBreakerCustomizers); + return new Resilience4JCircuitBreakerFactory(); } @Configuration diff --git a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreaker.java b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreaker.java index 6bc4903..350a2fd 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreaker.java +++ b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreaker.java @@ -22,6 +22,7 @@ import io.github.resilience4j.timelimiter.TimeLimiterConfig; import io.vavr.control.Try; import java.util.List; +import java.util.Optional; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; @@ -41,17 +42,17 @@ public class Resilience4JCircuitBreaker implements CircuitBreaker { private CircuitBreakerRegistry registry; private TimeLimiterConfig timeLimiterConfig; private ExecutorService executorService; - private List> circuitBreakerCustomizers; + private Optional> circuitBreakerCustomizer; public Resilience4JCircuitBreaker(String id, io.github.resilience4j.circuitbreaker.CircuitBreakerConfig circuitBreakerConfig, TimeLimiterConfig timeLimiterConfig, CircuitBreakerRegistry circuitBreakerRegistry, - ExecutorService executorService, List> circuitBreakerCustomizers) { + ExecutorService executorService, Optional> circuitBreakerCustomizer) { this.id = id; this.circuitBreakerConfig = circuitBreakerConfig; this.registry = circuitBreakerRegistry; this.timeLimiterConfig = timeLimiterConfig; this.executorService = executorService; - this.circuitBreakerCustomizers = circuitBreakerCustomizers; + this.circuitBreakerCustomizer = circuitBreakerCustomizer; } @Override @@ -62,7 +63,7 @@ public class Resilience4JCircuitBreaker implements CircuitBreaker { .decorateFutureSupplier(timeLimiter, futureSupplier); io.github.resilience4j.circuitbreaker.CircuitBreaker defaultCircuitBreaker = registry.circuitBreaker(id, circuitBreakerConfig); - circuitBreakerCustomizers.forEach(circuitBreakerCustomizer -> circuitBreakerCustomizer.customize(defaultCircuitBreaker)); + circuitBreakerCustomizer.ifPresent(customizer -> customizer.customize(defaultCircuitBreaker)); Callable callable = io.github.resilience4j.circuitbreaker.CircuitBreaker .decorateCallable(defaultCircuitBreaker, restrictedCall); return Try.of(callable::call).recover(fallback).get(); diff --git a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerFactory.java b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerFactory.java index d7b32e6..169bf47 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerFactory.java +++ b/spring-cloud-circuitbreaker-resilience4j/src/main/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerFactory.java @@ -21,7 +21,10 @@ import io.github.resilience4j.circuitbreaker.CircuitBreakerConfig; import io.github.resilience4j.circuitbreaker.CircuitBreakerRegistry; import io.github.resilience4j.timelimiter.TimeLimiterConfig; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.function.Function; @@ -42,11 +45,7 @@ public class Resilience4JCircuitBreakerFactory extends CircuitBreakerFactory> circuitBreakerCustomizers; - - public Resilience4JCircuitBreakerFactory(List> circuitBreakerCustomizes) { - this.circuitBreakerCustomizers = circuitBreakerCustomizes; - } + private Map> circuitBreakerCustomizers = new HashMap<>(); @Override protected Resilience4JConfigBuilder configBuilder(String id) { @@ -71,7 +70,13 @@ public class Resilience4JCircuitBreakerFactory extends CircuitBreakerFactory customizer, String... ids) { + for(String id: ids) { + circuitBreakerCustomizers.put(id, customizer); + } } } diff --git a/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerIntegrationTest.java b/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerIntegrationTest.java index 30b56f6..d235ffe 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerIntegrationTest.java +++ b/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerIntegrationTest.java @@ -106,53 +106,22 @@ public class ReactiveResilience4JCircuitBreakerIntegrationTest { @Bean public Customizer slowCusomtizer() { - return factory -> factory.configure(builder -> builder - .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(2)).build()) - .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()), "slow", "slowflux"); - } - - @Bean - public Customizer defaultCustomizer() { - return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id) - .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()) - .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(4)).build()).build()); - } - - @Bean - public Customizer slowCircuitBreakerCustomizer() { - return circuitBreaker -> { - if("slow".equals(circuitBreaker.getName())) { - circuitBreaker.getEventPublisher().onError(slowErrorConsumer).onSuccess(slowSuccessConsumer); - - } - }; - } - - @Bean - public Customizer normalCircuitBreakerCustomizer() { - return circuitBreaker -> { - if("normal".equals(circuitBreaker.getName())) { - circuitBreaker.getEventPublisher().onError(normalErrorConsumer).onSuccess(normalSuccessConsumer); - } - }; - } - - @Bean - public Customizer slowFluxCircuitBreakerCustomizer() { - return circuitBreaker -> { - if("slowflux".equals(circuitBreaker.getName())) { - circuitBreaker.getEventPublisher().onError(slowFluxErrorConsumer).onSuccess(slowFluxSuccessConsumer); - - } - }; - } - - @Bean - public Customizer normalFluxCircuitBreakerCustomizer() { - return circuitBreaker -> { - if("normalflux".equals(circuitBreaker.getName())) { - circuitBreaker.getEventPublisher().onError(normalFluxErrorConsumer).onSuccess(normalFluxSuccessConsumer); - } + return factory -> { + factory.configureDefault(id -> new Resilience4JConfigBuilder(id) + .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()) + .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(4)).build()).build()); + factory.configure(builder -> builder + .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(2)).build()) + .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()), "slow", "slowflux"); + factory.addCircuitBreakerCustomizer(circuitBreaker -> + circuitBreaker.getEventPublisher().onError(slowErrorConsumer).onSuccess(slowSuccessConsumer), + "slow" ); + factory.addCircuitBreakerCustomizer(circuitBreaker -> circuitBreaker.getEventPublisher().onError(normalErrorConsumer).onSuccess(normalSuccessConsumer), + "normal"); + factory.addCircuitBreakerCustomizer(circuitBreaker -> circuitBreaker.getEventPublisher().onError(slowFluxErrorConsumer).onSuccess(slowFluxSuccessConsumer), + "slowflux"); + factory.addCircuitBreakerCustomizer(circuitBreaker -> circuitBreaker.getEventPublisher().onError(normalFluxErrorConsumer).onSuccess(normalFluxSuccessConsumer), + "normalflux"); }; } diff --git a/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerTest.java b/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerTest.java index b5193c0..b94132a 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerTest.java +++ b/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/ReactiveResilience4JCircuitBreakerTest.java @@ -33,25 +33,25 @@ public class ReactiveResilience4JCircuitBreakerTest { @Test public void runMono() { - ReactiveCircuitBreaker cb = new ReactiveResilience4JCircuitBreakerFactory(Collections.emptyList()).create("foo"); + ReactiveCircuitBreaker cb = new ReactiveResilience4JCircuitBreakerFactory().create("foo"); assertEquals("foobar", cb.run(Mono.just("foobar")).block()); } @Test public void runMonoWithFallback() { - ReactiveCircuitBreaker cb = new ReactiveResilience4JCircuitBreakerFactory(Collections.emptyList()).create("foo"); + ReactiveCircuitBreaker cb = new ReactiveResilience4JCircuitBreakerFactory().create("foo"); assertEquals("fallback", cb.run(Mono.error(new RuntimeException("boom")), t -> Mono.just("fallback")).block()); } @Test public void runFlux() { - ReactiveCircuitBreaker cb = new ReactiveResilience4JCircuitBreakerFactory(Collections.emptyList()).create("foo"); + ReactiveCircuitBreaker cb = new ReactiveResilience4JCircuitBreakerFactory().create("foo"); assertEquals(Arrays.asList("foobar", "hello world"), cb.run(Flux.just("foobar", "hello world")).collectList().block()); } @Test public void runFluxWithFallback() { - ReactiveCircuitBreaker cb = new ReactiveResilience4JCircuitBreakerFactory(Collections.emptyList()).create("foo"); + ReactiveCircuitBreaker cb = new ReactiveResilience4JCircuitBreakerFactory().create("foo"); assertEquals(Arrays.asList("fallback"), cb.run(Flux.error(new RuntimeException("boom")), t -> Flux.just("fallback")).collectList().block()); } diff --git a/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerIntegrationTest.java b/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerIntegrationTest.java index a1d24f9..07baad6 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerIntegrationTest.java +++ b/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerIntegrationTest.java @@ -64,16 +64,14 @@ public class Resilience4JCircuitBreakerIntegrationTest { @Bean public Customizer slowCustomizer() { - return factory -> factory.configure(builder -> builder.circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()) - .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(2)).build()), "slow"); - } - - @Bean - public Customizer defaultCustomizer() { - return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id) - .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(4)).build()) - .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()) - .build()); + return factory -> { + factory.configure(builder -> builder.circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()) + .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(2)).build()), "slow"); + factory.configureDefault(id -> new Resilience4JConfigBuilder(id) + .timeLimiterConfig(TimeLimiterConfig.custom().timeoutDuration(Duration.ofSeconds(4)).build()) + .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()) + .build()); + }; } @Service diff --git a/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerTest.java b/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerTest.java index 64f58f5..cbff809 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerTest.java +++ b/spring-cloud-circuitbreaker-resilience4j/src/test/java/org/springframework/cloud/circuitbreaker/resilience4j/Resilience4JCircuitBreakerTest.java @@ -30,13 +30,13 @@ public class Resilience4JCircuitBreakerTest { @Test public void run() { - CircuitBreaker cb = new Resilience4JCircuitBreakerFactory(Collections.emptyList()).create("foo"); + CircuitBreaker cb = new Resilience4JCircuitBreakerFactory().create("foo"); assertEquals("foobar", cb.run(() -> "foobar")); } @Test public void runWithFallback() { - CircuitBreaker cb = new Resilience4JCircuitBreakerFactory(Collections.emptyList()).create("foo"); + CircuitBreaker cb = new Resilience4JCircuitBreakerFactory().create("foo"); assertEquals("fallback", cb.run(() -> { throw new RuntimeException("boom"); }, t -> "fallback"));