From 124603254df740939e101bfbee8ef72132c034e7 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Tue, 14 Jan 2020 16:37:17 -0500 Subject: [PATCH] Update autoconfiguration for circuitbreaker filters. Fixes #1526 --- .../GatewayHystrixCircuitBreakerAutoConfiguration.java | 3 ++- .../SpringCloudCircuitBreakerFilterFactoryTests.java | 10 ---------- ...ngCloudCircuitBreakerHystrixFilterFactoryTests.java | 4 ---- 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/GatewayHystrixCircuitBreakerAutoConfiguration.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/GatewayHystrixCircuitBreakerAutoConfiguration.java index df5816ad..d4780c9e 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/GatewayHystrixCircuitBreakerAutoConfiguration.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/GatewayHystrixCircuitBreakerAutoConfiguration.java @@ -26,6 +26,7 @@ import org.springframework.cloud.client.circuitbreaker.ReactiveCircuitBreakerFac import org.springframework.cloud.gateway.filter.factory.FallbackHeadersGatewayFilterFactory; import org.springframework.cloud.gateway.filter.factory.SpringCloudCircuitBreakerHystrixFilterFactory; import org.springframework.cloud.netflix.hystrix.HystrixCircuitBreakerAutoConfiguration; +import org.springframework.cloud.netflix.hystrix.ReactiveHystrixCircuitBreakerAutoConfiguration; import org.springframework.cloud.netflix.hystrix.ReactiveHystrixCircuitBreakerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -36,7 +37,7 @@ import org.springframework.web.reactive.DispatcherHandler; */ @Configuration(proxyBeanMethods = false) @ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMissing = true) -@AutoConfigureAfter({ HystrixCircuitBreakerAutoConfiguration.class }) +@AutoConfigureAfter({ ReactiveHystrixCircuitBreakerAutoConfiguration.class }) @ConditionalOnClass({ DispatcherHandler.class, HystrixCircuitBreakerAutoConfiguration.class, ReactiveCircuitBreakerFactory.class, ReactiveHystrixCircuitBreakerFactory.class }) diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SpringCloudCircuitBreakerFilterFactoryTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SpringCloudCircuitBreakerFilterFactoryTests.java index 8afe25bc..77fbff73 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SpringCloudCircuitBreakerFilterFactoryTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SpringCloudCircuitBreakerFilterFactoryTests.java @@ -16,7 +16,6 @@ package org.springframework.cloud.gateway.filter.factory; -import org.junit.Ignore; import org.junit.Test; import org.springframework.cloud.gateway.test.BaseWebClientTests; @@ -31,7 +30,6 @@ public abstract class SpringCloudCircuitBreakerFilterFactoryTests extends BaseWebClientTests { @Test - @Ignore public void cbFilterWorks() { testClient.get().uri("/get").header("Host", "www.sccbsuccess.org").exchange() .expectStatus().isOk().expectHeader() @@ -39,7 +37,6 @@ public abstract class SpringCloudCircuitBreakerFilterFactoryTests } @Test - @Ignore public void cbFilterTimesout() { testClient.get().uri("/delay/3").header("Host", "www.sccbtimeout.org").exchange() .expectStatus().isEqualTo(HttpStatus.GATEWAY_TIMEOUT).expectBody() @@ -55,7 +52,6 @@ public abstract class SpringCloudCircuitBreakerFilterFactoryTests * CircuitBreaker metrics though) */ @Test - @Ignore public void timeoutFromWebClient() { testClient.get().uri("/delay/10") .header("Host", "www.circuitbreakerresponsestall.org").exchange() @@ -63,7 +59,6 @@ public abstract class SpringCloudCircuitBreakerFilterFactoryTests } @Test - @Ignore public void filterFallback() { testClient.get().uri("/delay/3?a=b") .header("Host", "www.circuitbreakerfallback.org").exchange() @@ -72,7 +67,6 @@ public abstract class SpringCloudCircuitBreakerFilterFactoryTests } @Test - @Ignore public void filterWorksJavaDsl() { testClient.get().uri("/get").header("Host", "www.circuitbreakerjava.org") .exchange().expectStatus().isOk().expectHeader() @@ -80,7 +74,6 @@ public abstract class SpringCloudCircuitBreakerFilterFactoryTests } @Test - @Ignore public void filterFallbackJavaDsl() { testClient.get().uri("/delay/3").header("Host", "www.circuitbreakerjava.org") .exchange().expectStatus().isOk().expectBody() @@ -88,7 +81,6 @@ public abstract class SpringCloudCircuitBreakerFilterFactoryTests } @Test - @Ignore public void filterConnectFailure() { testClient.get().uri("/delay/3") .header("Host", "www.circuitbreakerconnectfail.org").exchange() @@ -96,7 +88,6 @@ public abstract class SpringCloudCircuitBreakerFilterFactoryTests } @Test - @Ignore public void filterErrorPage() { testClient.get().uri("/delay/3") .header("Host", "www.circuitbreakerconnectfail.org") @@ -106,7 +97,6 @@ public abstract class SpringCloudCircuitBreakerFilterFactoryTests } @Test - @Ignore public void filterFallbackForward() { testClient.get().uri("/delay/3?a=c") .header("Host", "www.circuitbreakerforward.org").exchange().expectStatus() diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SpringCloudCircuitBreakerHystrixFilterFactoryTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SpringCloudCircuitBreakerHystrixFilterFactoryTests.java index 5e8dda6b..57d85714 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SpringCloudCircuitBreakerHystrixFilterFactoryTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SpringCloudCircuitBreakerHystrixFilterFactoryTests.java @@ -19,7 +19,6 @@ package org.springframework.cloud.gateway.filter.factory; import com.netflix.config.ConfigurationManager; import com.netflix.hystrix.Hystrix; import com.netflix.hystrix.metric.consumer.HealthCountsStream; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; @@ -48,7 +47,6 @@ public class SpringCloudCircuitBreakerHystrixFilterFactoryTests extends SpringCloudCircuitBreakerFilterFactoryTests { @Test - @Ignore public void hystrixFilterServiceUnavailable() { HealthCountsStream.reset(); Hystrix.reset(); @@ -65,7 +63,6 @@ public class SpringCloudCircuitBreakerHystrixFilterFactoryTests } @Test - @Ignore public void hystrixFilterExceptionFallback() { testClient.get().uri("/delay/3") .header("Host", "www.circuitbreakerexceptionfallback.org").exchange() @@ -74,7 +71,6 @@ public class SpringCloudCircuitBreakerHystrixFilterFactoryTests } @Test - @Ignore public void toStringFormat() { SpringCloudCircuitBreakerFilterFactory.Config config = new SpringCloudCircuitBreakerFilterFactory.Config() .setName("myname").setFallbackUri("forward:/myfallback");