From 6771cc9674fb2bf44700d64a5035583eed0952ea Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Tue, 13 Feb 2018 14:40:52 -0800 Subject: [PATCH] Polish --- ...gRequiredConfigurationFailureAnalyzer.java | 2 +- .../amqp/RabbitMetricsAutoConfiguration.java | 4 +-- .../export/ganglia/GangliaProperties.java | 2 +- .../prometheus/PrometheusProperties.java | 2 +- ...ataSourcePoolMetricsAutoConfiguration.java | 4 +-- .../metrics/web/tomcat/package-info.java | 2 +- ...MongoHealthIndicatorAutoConfiguration.java | 2 +- .../MongoHealthIndicatorConfiguration.java | 3 +- .../main/resources/META-INF/spring.factories | 3 +- ...iredConfigurationFailureAnalyzerTests.java | 2 +- .../RabbitMetricsAutoConfigurationTests.java | 3 +- ...urcePoolMetricsAutoConfigurationTests.java | 3 +- ...tiveHealthIndicatorConfigurationTests.java | 11 +++---- .../metrics/jdbc/DataSourcePoolMetrics.java | 11 ++++--- .../metrics/amqp/RabbitMetricsTests.java | 3 +- .../jdbc/DataSourcePoolMetricsTests.java | 4 +-- .../MongoReactiveHealthIndicatorTest.java | 16 +++++----- .../DefaultErrorWebExceptionHandler.java | 31 ++++++++----------- 18 files changed, 50 insertions(+), 58 deletions(-) rename spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/{config => }/MissingRequiredConfigurationFailureAnalyzer.java (95%) rename spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/{config => }/MissingRequiredConfigurationFailureAnalyzerTests.java (97%) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/config/MissingRequiredConfigurationFailureAnalyzer.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MissingRequiredConfigurationFailureAnalyzer.java similarity index 95% rename from spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/config/MissingRequiredConfigurationFailureAnalyzer.java rename to spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MissingRequiredConfigurationFailureAnalyzer.java index 1c56669b95..429fab4757 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/config/MissingRequiredConfigurationFailureAnalyzer.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MissingRequiredConfigurationFailureAnalyzer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.config; +package org.springframework.boot.actuate.autoconfigure.metrics; import io.micrometer.core.instrument.config.MissingRequiredConfigurationException; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java index caf1ed15e0..13b94cc3a7 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java @@ -68,8 +68,8 @@ public class RabbitMetricsAutoConfiguration { ConnectionFactory rabbitConnectionFactory = connectionFactory .getRabbitConnectionFactory(); String connectionFactoryName = getConnectionFactoryName(beanName); - new RabbitMetrics(rabbitConnectionFactory, - Tags.of("name", connectionFactoryName)).bindTo(this.registry); + new RabbitMetrics(rabbitConnectionFactory, Tags.of("name", connectionFactoryName)) + .bindTo(this.registry); } /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaProperties.java index 855d22f7ad..c8b77d4246 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/GangliaProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors. + * Copyright 2012-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java index c4c22ac63c..93ed7fbe8c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors. + * Copyright 2012-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java index ed9ecab975..7ffe0efaa4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfiguration.java @@ -69,8 +69,8 @@ public class DataSourcePoolMetricsAutoConfiguration { private void bindDataSourceToRegistry(String beanName, DataSource dataSource) { String dataSourceName = getDataSourceName(beanName); - new DataSourcePoolMetrics(dataSource, this.metadataProviders, - dataSourceName, Collections.emptyList()).bindTo(this.registry); + new DataSourcePoolMetrics(dataSource, this.metadataProviders, dataSourceName, + Collections.emptyList()).bindTo(this.registry); } /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/package-info.java index 51341b578f..d6ac67170e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/package-info.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors. + * Copyright 2012-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthIndicatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthIndicatorAutoConfiguration.java index 047e9b4608..6af6118d67 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthIndicatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthIndicatorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors. + * Copyright 2012-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthIndicatorConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthIndicatorConfiguration.java index 2fbd31598a..91bffa9d64 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthIndicatorConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoHealthIndicatorConfiguration.java @@ -41,8 +41,7 @@ class MongoHealthIndicatorConfiguration extends private final Map mongoTemplates; - MongoHealthIndicatorConfiguration( - Map mongoTemplates) { + MongoHealthIndicatorConfiguration(Map mongoTemplates) { this.mongoTemplates = mongoTemplates; } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories index 77b972eaa0..a93c06a028 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories @@ -75,5 +75,6 @@ org.springframework.boot.actuate.autoconfigure.web.jersey.JerseyManagementChildC org.springframework.boot.actuate.autoconfigure.web.reactive.ReactiveManagementChildContextConfiguration,\ org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementChildContextConfiguration,\ org.springframework.boot.actuate.autoconfigure.web.servlet.WebMvcEndpointChildContextConfiguration + org.springframework.boot.diagnostics.FailureAnalyzer=\ -org.springframework.boot.actuate.autoconfigure.metrics.config.MissingRequiredConfigurationFailureAnalyzer +org.springframework.boot.actuate.autoconfigure.metrics.MissingRequiredConfigurationFailureAnalyzer diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/config/MissingRequiredConfigurationFailureAnalyzerTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MissingRequiredConfigurationFailureAnalyzerTests.java similarity index 97% rename from spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/config/MissingRequiredConfigurationFailureAnalyzerTests.java rename to spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MissingRequiredConfigurationFailureAnalyzerTests.java index 710dfc2178..a416208654 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/config/MissingRequiredConfigurationFailureAnalyzerTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/MissingRequiredConfigurationFailureAnalyzerTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.config; +package org.springframework.boot.actuate.autoconfigure.metrics; import io.micrometer.core.instrument.Clock; import io.micrometer.newrelic.NewRelicConfig; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfigurationTests.java index 8fb9d9ec31..29bb34b9a9 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfigurationTests.java @@ -47,8 +47,7 @@ public class RabbitMetricsAutoConfigurationTests { @Test public void rabbitmqNativeConnectionFactoryInstrumentationCanBeDisabled() { - this.contextRunner - .withPropertyValues("management.metrics.enable.rabbitmq=false") + this.contextRunner.withPropertyValues("management.metrics.enable.rabbitmq=false") .run((context) -> { MeterRegistry registry = context.getBean(MeterRegistry.class); assertThat(registry.find("rabbitmq.connections").meter()).isNull(); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfigurationTests.java index 9cee2f7e27..c2a224ac03 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/DataSourcePoolMetricsAutoConfigurationTests.java @@ -88,8 +88,7 @@ public class DataSourcePoolMetricsAutoConfigurationTests { context.getBean("secondOne", DataSource.class).getConnection() .getMetaData(); MeterRegistry registry = context.getBean(MeterRegistry.class); - registry.get("jdbc.max.connections").tags("name", "first") - .meter(); + registry.get("jdbc.max.connections").tags("name", "first").meter(); registry.get("jdbc.max.connections").tags("name", "secondOne") .meter(); }); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoReactiveHealthIndicatorConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoReactiveHealthIndicatorConfigurationTests.java index 58cc1fd0a7..42e14a06e8 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoReactiveHealthIndicatorConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/mongo/MongoReactiveHealthIndicatorConfigurationTests.java @@ -39,8 +39,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class MongoReactiveHealthIndicatorConfigurationTests { private ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of( - MongoAutoConfiguration.class, + .withConfiguration(AutoConfigurations.of(MongoAutoConfiguration.class, MongoDataAutoConfiguration.class, MongoReactiveAutoConfiguration.class, MongoReactiveDataAutoConfiguration.class, @@ -49,10 +48,10 @@ public class MongoReactiveHealthIndicatorConfigurationTests { @Test public void runShouldCreateIndicator() { - this.contextRunner.run( - (context) -> assertThat(context).hasSingleBean(MongoReactiveHealthIndicator.class) - .doesNotHaveBean(MongoHealthIndicator.class) - .doesNotHaveBean(ApplicationHealthIndicator.class)); + this.contextRunner.run((context) -> assertThat(context) + .hasSingleBean(MongoReactiveHealthIndicator.class) + .doesNotHaveBean(MongoHealthIndicator.class) + .doesNotHaveBean(ApplicationHealthIndicator.class)); } @Test diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetrics.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetrics.java index 9fbf200243..886a12e7aa 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetrics.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetrics.java @@ -49,8 +49,8 @@ public class DataSourcePoolMetrics implements MeterBinder { private final Iterable tags; public DataSourcePoolMetrics(DataSource dataSource, - Collection metadataProviders, String dataSourceName, - Iterable tags) { + Collection metadataProviders, + String dataSourceName, Iterable tags) { this(dataSource, new CompositeDataSourcePoolMetadataProvider(metadataProviders), dataSourceName, tags); } @@ -75,9 +75,10 @@ public class DataSourcePoolMetrics implements MeterBinder { } } - private void bindPoolMetadata(MeterRegistry registry, String metricName, - Function function) { - bindDataSource(registry, metricName, this.metadataProvider.getValueFunction(function)); + private void bindPoolMetadata(MeterRegistry registry, + String metricName, Function function) { + bindDataSource(registry, metricName, + this.metadataProvider.getValueFunction(function)); } private void bindDataSource(MeterRegistry registry, diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/amqp/RabbitMetricsTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/amqp/RabbitMetricsTests.java index 68abd688f7..b7520748d4 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/amqp/RabbitMetricsTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/amqp/RabbitMetricsTests.java @@ -43,8 +43,7 @@ public class RabbitMetricsTests { public void connectionFactoryWithTagsIsInstrumented() { ConnectionFactory connectionFactory = mock(ConnectionFactory.class); SimpleMeterRegistry registry = new SimpleMeterRegistry(); - new RabbitMetrics(connectionFactory, Tags.of("env", "prod")) - .bindTo(registry); + new RabbitMetrics(connectionFactory, Tags.of("env", "prod")).bindTo(registry); assertThat(registry.get("rabbitmq.connections").tags("env", "prod").meter()) .isNotNull(); assertThat(registry.find("rabbitmq.connections").tags("env", "dev").meter()) diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetricsTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetricsTests.java index 8450e19f3b..6872119787 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetricsTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/jdbc/DataSourcePoolMetricsTests.java @@ -50,8 +50,8 @@ public class DataSourcePoolMetricsTests { "metrics.use-global-registry=false") .run((context) -> { context.getBean(DataSource.class).getConnection().getMetaData(); - context.getBean(MeterRegistry.class) - .get("jdbc.max.connections").meter(); + context.getBean(MeterRegistry.class).get("jdbc.max.connections") + .meter(); }); } diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/mongo/MongoReactiveHealthIndicatorTest.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/mongo/MongoReactiveHealthIndicatorTest.java index 6c48b9cf76..f5df23de06 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/mongo/MongoReactiveHealthIndicatorTest.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/mongo/MongoReactiveHealthIndicatorTest.java @@ -42,10 +42,10 @@ public class MongoReactiveHealthIndicatorTest { Document buildInfo = mock(Document.class); given(buildInfo.getString("version")).willReturn("2.6.4"); ReactiveMongoTemplate reactiveMongoTemplate = mock(ReactiveMongoTemplate.class); - given(reactiveMongoTemplate.executeCommand("{ buildInfo: 1 }")).willReturn( - Mono.just(buildInfo)); - - MongoReactiveHealthIndicator mongoReactiveHealthIndicator = new MongoReactiveHealthIndicator(reactiveMongoTemplate); + given(reactiveMongoTemplate.executeCommand("{ buildInfo: 1 }")) + .willReturn(Mono.just(buildInfo)); + MongoReactiveHealthIndicator mongoReactiveHealthIndicator = new MongoReactiveHealthIndicator( + reactiveMongoTemplate); Mono health = mongoReactiveHealthIndicator.health(); StepVerifier.create(health).consumeNextWith((h) -> { assertThat(h.getStatus()).isEqualTo(Status.UP); @@ -57,10 +57,10 @@ public class MongoReactiveHealthIndicatorTest { @Test public void testMongoIsDown() { ReactiveMongoTemplate reactiveMongoTemplate = mock(ReactiveMongoTemplate.class); - given(reactiveMongoTemplate.executeCommand("{ buildInfo: 1 }")).willThrow( - new MongoException("Connection failed")); - - MongoReactiveHealthIndicator mongoReactiveHealthIndicator = new MongoReactiveHealthIndicator(reactiveMongoTemplate); + given(reactiveMongoTemplate.executeCommand("{ buildInfo: 1 }")) + .willThrow(new MongoException("Connection failed")); + MongoReactiveHealthIndicator mongoReactiveHealthIndicator = new MongoReactiveHealthIndicator( + reactiveMongoTemplate); Mono health = mongoReactiveHealthIndicator.health(); StepVerifier.create(health).consumeNextWith((h) -> { assertThat(h.getStatus()).isEqualTo(Status.DOWN); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/DefaultErrorWebExceptionHandler.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/DefaultErrorWebExceptionHandler.java index 505c127472..53535798ba 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/DefaultErrorWebExceptionHandler.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/DefaultErrorWebExceptionHandler.java @@ -20,6 +20,7 @@ import java.util.Collections; import java.util.EnumMap; import java.util.List; import java.util.Map; +import java.util.function.BiConsumer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -189,29 +190,23 @@ public class DefaultErrorWebExceptionHandler extends AbstractErrorWebExceptionHa } /** - * Log the original exception if handling it results in a Server Error or a Bad Request - * (Client Error with 400 status code) one. + * Log the original exception if handling it results in a Server Error or a Bad + * Request (Client Error with 400 status code) one. * @param request the source request * @param errorStatus the HTTP error status */ protected void logError(ServerRequest request, HttpStatus errorStatus) { - if (errorStatus.is5xxServerError()) { - Throwable ex = getError(request); - if (ex instanceof ResponseStatusException) { - logger.error(buildMessage(request, ex)); - } - else { - logger.error(buildMessage(request, null), ex); - } + Throwable ex = getError(request); + log(request, ex, (errorStatus.is5xxServerError() ? logger::error : logger::warn)); + } + + private void log(ServerRequest request, Throwable ex, + BiConsumer logger) { + if (ex instanceof ResponseStatusException) { + logger.accept(buildMessage(request, ex), null); } - else if (errorStatus == HttpStatus.BAD_REQUEST) { - Throwable ex = getError(request); - if (ex instanceof ResponseStatusException) { - logger.warn(buildMessage(request, ex)); - } - else { - logger.warn(buildMessage(request, null), ex); - } + else { + logger.accept(buildMessage(request, null), ex); } }