From e9dfea29a5b6cdcd8770d4ad102f30af626ec16f Mon Sep 17 00:00:00 2001 From: Srinivasa Vasu Date: Tue, 3 Nov 2020 05:28:21 +0800 Subject: [PATCH] Separate ConditionalOnProperty for blocking and reactive (#63) Signed-off-by: Srinivasa Vasu Co-authored-by: Spencer Gibb --- .../ReactiveResilience4JAutoConfiguration.java | 5 ++++- .../resilience4j/Resilience4JAutoConfiguration.java | 5 ++++- .../additional-spring-configuration-metadata.json | 12 ++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) 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 0249b88..a68103b 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 @@ -41,7 +41,10 @@ import org.springframework.context.annotation.Configuration; @Configuration(proxyBeanMethods = false) @ConditionalOnClass(name = { "reactor.core.publisher.Mono", "reactor.core.publisher.Flux", "io.github.resilience4j.reactor.circuitbreaker.operator.CircuitBreakerOperator" }) -@ConditionalOnProperty(name = "spring.cloud.circuitbreaker.resilience4j.enabled", matchIfMissing = true) +@ConditionalOnProperty( + name = { "spring.cloud.circuitbreaker.resilience4j.enabled", + "spring.cloud.circuitbreaker.resilience4j.reactive.enabled" }, + matchIfMissing = true) public class ReactiveResilience4JAutoConfiguration { @Autowired(required = false) 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 93496d7..1e60d6a 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 @@ -39,7 +39,10 @@ import org.springframework.context.annotation.Configuration; * @author Eric Bussieres */ @Configuration(proxyBeanMethods = false) -@ConditionalOnProperty(name = "spring.cloud.circuitbreaker.resilience4j.enabled", matchIfMissing = true) +@ConditionalOnProperty( + name = { "spring.cloud.circuitbreaker.resilience4j.enabled", + "spring.cloud.circuitbreaker.resilience4j.blocking.enabled" }, + matchIfMissing = true) public class Resilience4JAutoConfiguration { @Autowired(required = false) diff --git a/spring-cloud-circuitbreaker-resilience4j/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-circuitbreaker-resilience4j/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 739749b..6038492 100644 --- a/spring-cloud-circuitbreaker-resilience4j/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-circuitbreaker-resilience4j/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -5,6 +5,18 @@ "name": "spring.cloud.circuitbreaker.resilience4j.enabled", "description": "Enables Resilience4J auto-configuration.", "type": "java.lang.Boolean" + }, + { + "defaultValue": "true", + "name": "spring.cloud.circuitbreaker.resilience4j.blocking.enabled", + "description": "Enables blocking Resilience4J auto-configuration.", + "type": "java.lang.Boolean" + }, + { + "defaultValue": "true", + "name": "spring.cloud.circuitbreaker.resilience4j.reactive.enabled", + "description": "Enables ReactiveResilience4J auto-configuration.", + "type": "java.lang.Boolean" } ] }