diff --git a/docs/src/main/asciidoc/spring-cloud-gateway.adoc b/docs/src/main/asciidoc/spring-cloud-gateway.adoc index 7561734b..17a28706 100644 --- a/docs/src/main/asciidoc/spring-cloud-gateway.adoc +++ b/docs/src/main/asciidoc/spring-cloud-gateway.adoc @@ -1444,12 +1444,12 @@ A new, more verbose format has been added to Gateway. This adds more detail to e ] ---- -To enable this feature, set the following property: +This feature is enabled by default. To disable it, set the following property: .application.properties [source,properties] ---- -spring.cloud.gateway.actuator.verbose.enabled=true +spring.cloud.gateway.actuator.verbose.enabled=false ---- This will default to true in a future release. diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java index 0c7605a9..bd069d45 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java @@ -31,7 +31,7 @@ import rx.RxReactiveStreams; import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; +import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; @@ -656,8 +656,9 @@ public class GatewayAutoConfiguration { protected static class GatewayActuatorConfiguration { @Bean - @ConditionalOnProperty("spring.cloud.gateway.actuator.verbose.enabled") - @ConditionalOnEnabledEndpoint + @ConditionalOnProperty(name = "spring.cloud.gateway.actuator.verbose.enabled", + matchIfMissing = true) + @ConditionalOnAvailableEndpoint public GatewayControllerEndpoint gatewayControllerEndpoint( List globalFilters, List gatewayFilters, @@ -668,7 +669,7 @@ public class GatewayAutoConfiguration { @Bean @Conditional(OnVerboseDisabledCondition.class) - @ConditionalOnEnabledEndpoint + @ConditionalOnAvailableEndpoint public GatewayLegacyControllerEndpoint gatewayLegacyControllerEndpoint( RouteDefinitionLocator routeDefinitionLocator, List globalFilters, @@ -686,7 +687,8 @@ public class GatewayAutoConfiguration { super(ConfigurationPhase.REGISTER_BEAN); } - @ConditionalOnProperty("spring.cloud.gateway.actuator.verbose.enabled") + @ConditionalOnProperty(name = "spring.cloud.gateway.actuator.verbose.enabled", + matchIfMissing = true) static class VerboseDisabled { } diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/HystrixGatewayFilterFactory.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/HystrixGatewayFilterFactory.java index 29530bd4..c1573c05 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/HystrixGatewayFilterFactory.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/HystrixGatewayFilterFactory.java @@ -130,8 +130,8 @@ public class HystrixGatewayFilterFactory public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { RouteHystrixCommand command = new RouteHystrixCommand( - createCommandSetter(config, exchange), - config.fallbackUri, exchange, chain); + createCommandSetter(config, exchange), config.fallbackUri, + exchange, chain); return Mono.create(s -> { Subscription sub = command.toObservable().subscribe(s::success, diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/config/GatewayAutoConfigurationTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/config/GatewayAutoConfigurationTests.java index a712e63b..a49eb870 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/config/GatewayAutoConfigurationTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/config/GatewayAutoConfigurationTests.java @@ -117,22 +117,22 @@ public class GatewayAutoConfigurationTests { } @Test - public void legacyActuatorEnabledByDefault() { + public void verboseActuatorEnabledByDefault() { try (ConfigurableApplicationContext ctx = SpringApplication.run(Config.class, "--spring.jmx.enabled=false", "--server.port=0")) { assertThat(ctx.getBeanNamesForType(GatewayControllerEndpoint.class)) - .isEmpty(); - assertThat(ctx.getBeanNamesForType(GatewayLegacyControllerEndpoint.class)) .hasSize(1); + assertThat(ctx.getBeanNamesForType(GatewayLegacyControllerEndpoint.class)) + .isEmpty(); } } @Test - public void verboseActuatorEnabled() { + public void verboseActuatorDisabled() { try (ConfigurableApplicationContext ctx = SpringApplication.run(Config.class, "--spring.jmx.enabled=false", "--server.port=0", - "--spring.cloud.gateway.actuator.verbose.enabled=true")) { - assertThat(ctx.getBeanNamesForType(GatewayControllerEndpoint.class)) + "--spring.cloud.gateway.actuator.verbose.enabled=false")) { + assertThat(ctx.getBeanNamesForType(GatewayLegacyControllerEndpoint.class)) .hasSize(1); } }