diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java index be7462376d1..ef495c2f26c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java @@ -35,7 +35,6 @@ import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints; import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointsSupplier; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier; import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.actuate.health.HealthEndpointWebExtension; import org.springframework.boot.actuate.info.GitInfoContributor; @@ -114,7 +113,8 @@ public class CloudFoundryActuatorAutoConfiguration { @SuppressWarnings("removal") public CloudFoundryWebEndpointServletHandlerMapping cloudFoundryWebEndpointServletHandlerMapping( ParameterValueMapper parameterMapper, EndpointMediaTypes endpointMediaTypes, - RestTemplateBuilder restTemplateBuilder, ServletEndpointsSupplier servletEndpointsSupplier, + RestTemplateBuilder restTemplateBuilder, + org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier, ControllerEndpointsSupplier controllerEndpointsSupplier, ApplicationContext applicationContext) { CloudFoundryWebEndpointDiscoverer discoverer = new CloudFoundryWebEndpointDiscoverer(applicationContext, parameterMapper, endpointMediaTypes, null, Collections.emptyList(), Collections.emptyList()); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration.java index 2e5de5c8f4a..37481d1e36a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration.java @@ -20,9 +20,6 @@ import org.glassfish.jersey.server.ResourceConfig; import org.springframework.boot.actuate.autoconfigure.endpoint.expose.IncludeExcludeEndpointFilter; import org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration; -import org.springframework.boot.actuate.endpoint.web.ExposableServletEndpoint; -import org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; @@ -48,22 +45,26 @@ public class ServletEndpointManagementContextConfiguration { @Bean @SuppressWarnings("removal") - public IncludeExcludeEndpointFilter servletExposeExcludePropertyEndpointFilter( + public IncludeExcludeEndpointFilter servletExposeExcludePropertyEndpointFilter( WebEndpointProperties properties) { WebEndpointProperties.Exposure exposure = properties.getExposure(); - return new IncludeExcludeEndpointFilter<>(ExposableServletEndpoint.class, exposure.getInclude(), + return new IncludeExcludeEndpointFilter<>( + org.springframework.boot.actuate.endpoint.web.ExposableServletEndpoint.class, exposure.getInclude(), exposure.getExclude()); } @Configuration(proxyBeanMethods = false) @ConditionalOnClass(DispatcherServlet.class) - @SuppressWarnings("removal") public static class WebMvcServletEndpointManagementContextConfiguration { @Bean - public ServletEndpointRegistrar servletEndpointRegistrar(WebEndpointProperties properties, - ServletEndpointsSupplier servletEndpointsSupplier, DispatcherServletPath dispatcherServletPath) { - return new ServletEndpointRegistrar(dispatcherServletPath.getRelativePath(properties.getBasePath()), + @SuppressWarnings({ "deprecation", "removal" }) + public org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar servletEndpointRegistrar( + WebEndpointProperties properties, + org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier, + DispatcherServletPath dispatcherServletPath) { + return new org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar( + dispatcherServletPath.getRelativePath(properties.getBasePath()), servletEndpointsSupplier.getEndpoints()); } @@ -72,13 +73,16 @@ public class ServletEndpointManagementContextConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnClass(ResourceConfig.class) @ConditionalOnMissingClass("org.springframework.web.servlet.DispatcherServlet") - @SuppressWarnings("removal") public static class JerseyServletEndpointManagementContextConfiguration { @Bean - public ServletEndpointRegistrar servletEndpointRegistrar(WebEndpointProperties properties, - ServletEndpointsSupplier servletEndpointsSupplier, JerseyApplicationPath jerseyApplicationPath) { - return new ServletEndpointRegistrar(jerseyApplicationPath.getRelativePath(properties.getBasePath()), + @SuppressWarnings({ "deprecation", "removal" }) + public org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar servletEndpointRegistrar( + WebEndpointProperties properties, + org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier, + JerseyApplicationPath jerseyApplicationPath) { + return new org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar( + jerseyApplicationPath.getRelativePath(properties.getBasePath()), servletEndpointsSupplier.getEndpoints()); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java index 504e6beb8f5..fa262e7adb6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfiguration.java @@ -29,16 +29,12 @@ import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.actuate.endpoint.invoke.OperationInvokerAdvisor; import org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper; import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes; -import org.springframework.boot.actuate.endpoint.web.ExposableServletEndpoint; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints; import org.springframework.boot.actuate.endpoint.web.PathMapper; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; -import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer; import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.annotation.ExposableControllerEndpoint; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointDiscoverer; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.annotation.WebEndpointDiscoverer; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -96,10 +92,12 @@ public class WebEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean(ControllerEndpointsSupplier.class) - @SuppressWarnings("removal") - public ControllerEndpointDiscoverer controllerEndpointDiscoverer(ObjectProvider endpointPathMappers, + @SuppressWarnings({ "deprecation", "removal" }) + public org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer controllerEndpointDiscoverer( + ObjectProvider endpointPathMappers, ObjectProvider>> filters) { - return new ControllerEndpointDiscoverer(this.applicationContext, endpointPathMappers.orderedStream().toList(), + return new org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer( + this.applicationContext, endpointPathMappers.orderedStream().toList(), filters.getIfAvailable(Collections::emptyList)); } @@ -125,16 +123,16 @@ public class WebEndpointAutoConfiguration { @Configuration(proxyBeanMethods = false) @ConditionalOnWebApplication(type = Type.SERVLET) - @SuppressWarnings("removal") static class WebEndpointServletConfiguration { @Bean - @ConditionalOnMissingBean(ServletEndpointsSupplier.class) - ServletEndpointDiscoverer servletEndpointDiscoverer(ApplicationContext applicationContext, - ObjectProvider endpointPathMappers, - ObjectProvider> filters) { - return new ServletEndpointDiscoverer(applicationContext, endpointPathMappers.orderedStream().toList(), - filters.orderedStream().toList()); + @SuppressWarnings({ "deprecation", "removal" }) + @ConditionalOnMissingBean(org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier.class) + org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointDiscoverer servletEndpointDiscoverer( + ApplicationContext applicationContext, ObjectProvider endpointPathMappers, + ObjectProvider> filters) { + return new org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointDiscoverer( + applicationContext, endpointPathMappers.orderedStream().toList(), filters.orderedStream().toList()); } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/jersey/JerseyWebEndpointManagementContextConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/jersey/JerseyWebEndpointManagementContextConfiguration.java index 81816b231d7..3cc4da00068 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/jersey/JerseyWebEndpointManagementContextConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/jersey/JerseyWebEndpointManagementContextConfiguration.java @@ -45,11 +45,9 @@ import org.springframework.boot.actuate.endpoint.jackson.EndpointObjectMapper; import org.springframework.boot.actuate.endpoint.web.EndpointLinksResolver; import org.springframework.boot.actuate.endpoint.web.EndpointMapping; import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes; -import org.springframework.boot.actuate.endpoint.web.ExposableServletEndpoint; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.jersey.JerseyEndpointResourceFactory; import org.springframework.boot.actuate.endpoint.web.jersey.JerseyHealthEndpointAdditionalPathResourceFactory; import org.springframework.boot.actuate.health.HealthEndpoint; @@ -86,7 +84,8 @@ class JerseyWebEndpointManagementContextConfiguration { @Bean @SuppressWarnings("removal") JerseyWebEndpointsResourcesRegistrar jerseyWebEndpointsResourcesRegistrar(Environment environment, - WebEndpointsSupplier webEndpointsSupplier, ServletEndpointsSupplier servletEndpointsSupplier, + WebEndpointsSupplier webEndpointsSupplier, + org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier, EndpointMediaTypes endpointMediaTypes, WebEndpointProperties webEndpointProperties) { String basePath = webEndpointProperties.getBasePath(); boolean shouldRegisterLinks = shouldRegisterLinksMapping(webEndpointProperties, environment, basePath); @@ -130,7 +129,7 @@ class JerseyWebEndpointManagementContextConfiguration { private final WebEndpointsSupplier webEndpointsSupplier; - private final ServletEndpointsSupplier servletEndpointsSupplier; + private final org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier; private final EndpointMediaTypes mediaTypes; @@ -139,8 +138,8 @@ class JerseyWebEndpointManagementContextConfiguration { private final boolean shouldRegisterLinks; JerseyWebEndpointsResourcesRegistrar(WebEndpointsSupplier webEndpointsSupplier, - ServletEndpointsSupplier servletEndpointsSupplier, EndpointMediaTypes endpointMediaTypes, - String basePath, boolean shouldRegisterLinks) { + org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier, + EndpointMediaTypes endpointMediaTypes, String basePath, boolean shouldRegisterLinks) { this.webEndpointsSupplier = webEndpointsSupplier; this.servletEndpointsSupplier = servletEndpointsSupplier; this.mediaTypes = endpointMediaTypes; @@ -155,7 +154,8 @@ class JerseyWebEndpointManagementContextConfiguration { private void register(ResourceConfig config) { Collection webEndpoints = this.webEndpointsSupplier.getEndpoints(); - Collection servletEndpoints = this.servletEndpointsSupplier.getEndpoints(); + Collection servletEndpoints = this.servletEndpointsSupplier + .getEndpoints(); EndpointLinksResolver linksResolver = getLinksResolver(webEndpoints, servletEndpoints); EndpointMapping mapping = new EndpointMapping(this.basePath); Collection endpointResources = new JerseyEndpointResourceFactory().createEndpointResources( @@ -164,7 +164,7 @@ class JerseyWebEndpointManagementContextConfiguration { } private EndpointLinksResolver getLinksResolver(Collection webEndpoints, - Collection servletEndpoints) { + Collection servletEndpoints) { List> endpoints = new ArrayList<>(webEndpoints.size() + servletEndpoints.size()); endpoints.addAll(webEndpoints); endpoints.addAll(servletEndpoints); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/WebMvcEndpointManagementContextConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/WebMvcEndpointManagementContextConfiguration.java index f90dab6cfbb..5e3b9eaf1b3 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/WebMvcEndpointManagementContextConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/WebMvcEndpointManagementContextConfiguration.java @@ -43,7 +43,6 @@ import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointsSupplier; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier; import org.springframework.boot.actuate.endpoint.web.servlet.AdditionalHealthEndpointPathsWebMvcHandlerMapping; import org.springframework.boot.actuate.endpoint.web.servlet.ControllerEndpointHandlerMapping; import org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping; @@ -84,9 +83,10 @@ public class WebMvcEndpointManagementContextConfiguration { @ConditionalOnMissingBean @SuppressWarnings("removal") public WebMvcEndpointHandlerMapping webEndpointServletHandlerMapping(WebEndpointsSupplier webEndpointsSupplier, - ServletEndpointsSupplier servletEndpointsSupplier, ControllerEndpointsSupplier controllerEndpointsSupplier, - EndpointMediaTypes endpointMediaTypes, CorsEndpointProperties corsProperties, - WebEndpointProperties webEndpointProperties, Environment environment) { + org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier, + ControllerEndpointsSupplier controllerEndpointsSupplier, EndpointMediaTypes endpointMediaTypes, + CorsEndpointProperties corsProperties, WebEndpointProperties webEndpointProperties, + Environment environment) { List> allEndpoints = new ArrayList<>(); Collection webEndpoints = webEndpointsSupplier.getEndpoints(); allEndpoints.addAll(webEndpoints); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java index 1e9c04398a5..8676796e9fa 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java @@ -29,7 +29,6 @@ import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfigu import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusScrapeEndpoint; -import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusSimpleclientScrapeEndpoint; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -81,7 +80,8 @@ public class PrometheusMetricsExportAutoConfiguration { @SuppressWarnings("removal") @Bean - @ConditionalOnMissingBean({ PrometheusScrapeEndpoint.class, PrometheusSimpleclientScrapeEndpoint.class }) + @ConditionalOnMissingBean({ PrometheusScrapeEndpoint.class, + org.springframework.boot.actuate.metrics.export.prometheus.PrometheusSimpleclientScrapeEndpoint.class }) PrometheusScrapeEndpoint prometheusEndpoint(PrometheusRegistry prometheusRegistry, PrometheusConfig prometheusConfig) { return new PrometheusScrapeEndpoint(prometheusRegistry, prometheusConfig.prometheusProperties()); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/HttpSender.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/HttpSender.java index 91ddc66b277..ab0f677dbff 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/HttpSender.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/HttpSender.java @@ -68,12 +68,6 @@ abstract class HttpSender extends BaseHttpSender { postSpans(endpoint, headers, body); } - /** - * This will send span(s) as a POST to a zipkin endpoint. - * @param endpoint the POST endpoint. For example, http://localhost:9411/api/v2/spans. - * @param headers headers for the POST request - * @param body list of possibly gzipped, encoded spans. - */ abstract void postSpans(URI endpoint, HttpHeaders headers, byte[] body) throws IOException; HttpHeaders getDefaultHeaders() { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurations.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurations.java index 7700a43343b..8a92a98774a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurations.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurations.java @@ -94,7 +94,7 @@ class ZipkinConfigurations { @Bean @ConditionalOnMissingBean(BytesMessageSender.class) - @SuppressWarnings("removal") + @SuppressWarnings({ "deprecation", "removal" }) ZipkinRestTemplateSender restTemplateSender(ZipkinProperties properties, Encoding encoding, ObjectProvider customizers, ObjectProvider connectionDetailsProvider, @@ -111,7 +111,7 @@ class ZipkinConfigurations { restTemplateBuilder.build()); } - @SuppressWarnings("removal") + @SuppressWarnings({ "deprecation", "removal" }) private RestTemplateBuilder applyCustomizers(RestTemplateBuilder restTemplateBuilder, ObjectProvider customizers) { Iterable orderedCustomizers = () -> customizers.orderedStream() @@ -132,7 +132,7 @@ class ZipkinConfigurations { @Bean @ConditionalOnMissingBean(BytesMessageSender.class) - @SuppressWarnings("removal") + @SuppressWarnings({ "deprecation", "removal" }) ZipkinWebClientSender webClientSender(ZipkinProperties properties, Encoding encoding, ObjectProvider customizers, ObjectProvider connectionDetailsProvider, diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConnectionDetails.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConnectionDetails.java index 9d27cc70e7e..95d475f2d77 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConnectionDetails.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConnectionDetails.java @@ -16,7 +16,7 @@ package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; -import zipkin2.reporter.HttpEndpointSupplier; +import zipkin2.reporter.HttpEndpointSupplier.Factory; import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; @@ -24,7 +24,7 @@ import org.springframework.boot.autoconfigure.service.connection.ConnectionDetai * Details required to establish a connection to a Zipkin server. *

* Note: {@linkplain #getSpanEndpoint()} is only read once and passed to a bean of type - * {@link HttpEndpointSupplier.Factory} which defaults to no-op (constant). + * {@link Factory HttpEndpointSupplier.Factory} which defaults to no-op (constant). * * @author Moritz Halbritter * @since 3.1.0 diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientBuilderCustomizer.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientBuilderCustomizer.java index 73ed2e46f17..240d2f9e98a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientBuilderCustomizer.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientBuilderCustomizer.java @@ -16,11 +16,11 @@ package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; -import java.net.http.HttpClient; +import java.net.http.HttpClient.Builder; /** * Callback interface that can be implemented by beans wishing to customize the - * {@link HttpClient.Builder} used to send spans to Zipkin. + * {@link Builder HttpClient.Builder} used to send spans to Zipkin. * * @author Moritz Halbritter * @since 3.3.0 @@ -32,6 +32,6 @@ public interface ZipkinHttpClientBuilderCustomizer { * Customize the http client builder. * @param httpClient the http client builder to customize */ - void customize(HttpClient.Builder httpClient); + void customize(Builder httpClient); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfigurationTests.java index a8ec185b756..297497a61b1 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/WebEndpointAutoConfigurationTests.java @@ -31,8 +31,6 @@ import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes; import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint; import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoint; import org.springframework.boot.actuate.endpoint.web.PathMapper; -import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointDiscoverer; import org.springframework.boot.actuate.endpoint.web.annotation.WebEndpointDiscoverer; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -98,7 +96,8 @@ class WebEndpointAutoConfigurationTests { @SuppressWarnings("removal") void webApplicationConfiguresEndpointDiscoverer() { this.contextRunner.run((context) -> { - assertThat(context).hasSingleBean(ControllerEndpointDiscoverer.class); + assertThat(context).hasSingleBean( + org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer.class); assertThat(context).hasSingleBean(WebEndpointDiscoverer.class); }); } @@ -112,14 +111,16 @@ class WebEndpointAutoConfigurationTests { @Test @SuppressWarnings("removal") void contextShouldConfigureServletEndpointDiscoverer() { - this.contextRunner.run((context) -> assertThat(context).hasSingleBean(ServletEndpointDiscoverer.class)); + this.contextRunner.run((context) -> assertThat(context) + .hasSingleBean(org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointDiscoverer.class)); } @Test @SuppressWarnings("removal") void contextWhenNotServletShouldNotConfigureServletEndpointDiscoverer() { new ApplicationContextRunner().withConfiguration(CONFIGURATIONS) - .run((context) -> assertThat(context).doesNotHaveBean(ServletEndpointDiscoverer.class)); + .run((context) -> assertThat(context).doesNotHaveBean( + org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointDiscoverer.class)); } @Component diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/PrometheusSimpleclientScrapeEndpointDocumentationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/PrometheusSimpleclientScrapeEndpointDocumentationTests.java index 991a36e1dbb..aec0c53c08e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/PrometheusSimpleclientScrapeEndpointDocumentationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/PrometheusSimpleclientScrapeEndpointDocumentationTests.java @@ -22,7 +22,6 @@ import io.prometheus.client.CollectorRegistry; import io.prometheus.client.exporter.common.TextFormat; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusSimpleclientScrapeEndpoint; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -36,7 +35,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. /** * Tests for generating documentation describing the - * {@link PrometheusSimpleclientScrapeEndpoint}. + * {@link org.springframework.boot.actuate.metrics.export.prometheus.PrometheusSimpleclientScrapeEndpoint}. * * @author Andy Wilkinson * @author Johnny Lim @@ -76,12 +75,13 @@ class PrometheusSimpleclientScrapeEndpointDocumentationTests extends MockMvcEndp @Bean @SuppressWarnings({ "removal", "deprecation" }) - PrometheusSimpleclientScrapeEndpoint endpoint() { + org.springframework.boot.actuate.metrics.export.prometheus.PrometheusSimpleclientScrapeEndpoint endpoint() { CollectorRegistry collectorRegistry = new CollectorRegistry(true); io.micrometer.prometheus.PrometheusMeterRegistry meterRegistry = new io.micrometer.prometheus.PrometheusMeterRegistry( (key) -> null, collectorRegistry, Clock.SYSTEM); new JvmMemoryMetrics().bindTo(meterRegistry); - return new PrometheusSimpleclientScrapeEndpoint(collectorRegistry); + return new org.springframework.boot.actuate.metrics.export.prometheus.PrometheusSimpleclientScrapeEndpoint( + collectorRegistry); } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/ControllerEndpointWebMvcIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/ControllerEndpointWebMvcIntegrationTests.java index 1479292a3e2..b831586e2a4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/ControllerEndpointWebMvcIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/ControllerEndpointWebMvcIntegrationTests.java @@ -25,8 +25,6 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfi import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration; -import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint; -import org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration; @@ -52,8 +50,9 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; /** - * Integration tests for the Actuator's MVC {@link ControllerEndpoint controller - * endpoints}. + * Integration tests for the Actuator's MVC + * {@link org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint + * controller endpoints}. * * @author Phillip Webb * @author Andy Wilkinson @@ -120,7 +119,7 @@ class ControllerEndpointWebMvcIntegrationTests { } - @RestControllerEndpoint(id = "example") + @org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint(id = "example") @SuppressWarnings("removal") static class ExampleController { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/JerseyEndpointIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/JerseyEndpointIntegrationTests.java index 83d2c64cf68..5a3a1964412 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/JerseyEndpointIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/JerseyEndpointIntegrationTests.java @@ -30,8 +30,6 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfi import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; -import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint; -import org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration; @@ -160,13 +158,13 @@ class JerseyEndpointIntegrationTests { return autoconfigurations.toArray(new Class[0]); } - @ControllerEndpoint(id = "controller") + @org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint(id = "controller") @SuppressWarnings("removal") static class TestControllerEndpoint { } - @RestControllerEndpoint(id = "restcontroller") + @org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint(id = "restcontroller") @SuppressWarnings("removal") static class TestRestControllerEndpoint { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebFluxEndpointIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebFluxEndpointIntegrationTests.java index 5adda29dd9d..ab3fc50a853 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebFluxEndpointIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebFluxEndpointIntegrationTests.java @@ -25,8 +25,6 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfi import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.reactive.ReactiveManagementContextAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; -import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint; -import org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; @@ -107,13 +105,13 @@ class WebFluxEndpointIntegrationTests { .build(); } - @ControllerEndpoint(id = "controller") + @org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint(id = "controller") @SuppressWarnings("removal") static class TestControllerEndpoint { } - @RestControllerEndpoint(id = "restcontroller") + @org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint(id = "restcontroller") @SuppressWarnings("removal") static class TestRestControllerEndpoint { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcEndpointExposureIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcEndpointExposureIntegrationTests.java index 981255d6575..553a5ad92c6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcEndpointExposureIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcEndpointExposureIntegrationTests.java @@ -33,9 +33,6 @@ import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAu import org.springframework.boot.actuate.autoconfigure.web.exchanges.HttpExchangesAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration; -import org.springframework.boot.actuate.endpoint.web.EndpointServlet; -import org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint; import org.springframework.boot.actuate.web.exchanges.InMemoryHttpExchangeRepository; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration; @@ -189,7 +186,7 @@ class WebMvcEndpointExposureIntegrationTests { String.format("Unexpected %s HTTP status for endpoint %s", result.getStatus(), path)); } - @RestControllerEndpoint(id = "custommvc") + @org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint(id = "custommvc") @SuppressWarnings("removal") static class CustomMvcEndpoint { @@ -200,13 +197,14 @@ class WebMvcEndpointExposureIntegrationTests { } - @ServletEndpoint(id = "customservlet") - @SuppressWarnings("removal") - static class CustomServletEndpoint implements Supplier { + @org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint(id = "customservlet") + @SuppressWarnings({ "deprecation", "removal" }) + static class CustomServletEndpoint + implements Supplier { @Override - public EndpointServlet get() { - return new EndpointServlet(new HttpServlet() { + public org.springframework.boot.actuate.endpoint.web.EndpointServlet get() { + return new org.springframework.boot.actuate.endpoint.web.EndpointServlet(new HttpServlet() { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcEndpointIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcEndpointIntegrationTests.java index 9e297c3b0fb..a238601c45f 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcEndpointIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integrationtest/WebMvcEndpointIntegrationTests.java @@ -28,10 +28,6 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfi import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration; -import org.springframework.boot.actuate.endpoint.web.EndpointServlet; -import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint; -import org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint; import org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; @@ -197,25 +193,26 @@ class WebMvcEndpointIntegrationTests { } - @ServletEndpoint(id = "servlet") - @SuppressWarnings("removal") - static class TestServletEndpoint implements Supplier { + @org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint(id = "servlet") + @SuppressWarnings({ "deprecation", "removal" }) + static class TestServletEndpoint + implements Supplier { @Override - public EndpointServlet get() { - return new EndpointServlet(new HttpServlet() { + public org.springframework.boot.actuate.endpoint.web.EndpointServlet get() { + return new org.springframework.boot.actuate.endpoint.web.EndpointServlet(new HttpServlet() { }); } } - @ControllerEndpoint(id = "controller") + @org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint(id = "controller") @SuppressWarnings("removal") static class TestControllerEndpoint { } - @RestControllerEndpoint(id = "restcontroller") + @org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint(id = "restcontroller") @SuppressWarnings("removal") static class TestRestControllerEndpoint { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/reactive/EndpointRequestTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/reactive/EndpointRequestTests.java index 9ba6c9d1fce..e71258a986a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/reactive/EndpointRequestTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/reactive/EndpointRequestTests.java @@ -30,7 +30,6 @@ import org.springframework.boot.actuate.endpoint.Operation; import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoint; import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint; import org.springframework.context.support.StaticApplicationContext; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpResponse; @@ -354,7 +353,7 @@ class EndpointRequestTests { } - @ServletEndpoint(id = "baz") + @org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint(id = "baz") @SuppressWarnings("removal") static class BazServletEndpoint { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/servlet/AbstractEndpointRequestIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/servlet/AbstractEndpointRequestIntegrationTests.java index b0860810ee9..6a2ca3dbb02 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/servlet/AbstractEndpointRequestIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/servlet/AbstractEndpointRequestIntegrationTests.java @@ -32,8 +32,6 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAu import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; -import org.springframework.boot.actuate.endpoint.web.EndpointServlet; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; @@ -177,13 +175,14 @@ abstract class AbstractEndpointRequestIntegrationTests { } - @ServletEndpoint(id = "se1") - @SuppressWarnings("removal") - static class TestServletEndpoint implements Supplier { + @org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint(id = "se1") + @SuppressWarnings({ "deprecation", "removal" }) + static class TestServletEndpoint + implements Supplier { @Override - public EndpointServlet get() { - return new EndpointServlet(ExampleServlet.class); + public org.springframework.boot.actuate.endpoint.web.EndpointServlet get() { + return new org.springframework.boot.actuate.endpoint.web.EndpointServlet(ExampleServlet.class); } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequestTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequestTests.java index d3d5cb448b7..d3cf4c26d10 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequestTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/security/servlet/EndpointRequestTests.java @@ -31,7 +31,6 @@ import org.springframework.boot.actuate.endpoint.Operation; import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoint; import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints; -import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint; import org.springframework.boot.autoconfigure.security.servlet.RequestMatcherProvider; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockServletContext; @@ -353,7 +352,7 @@ class EndpointRequestTests { } - @ServletEndpoint(id = "baz") + @org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpoint(id = "baz") @SuppressWarnings("removal") static class BazServletEndpoint { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/prometheus/LazyTracingSpanContextSupplierTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/prometheus/LazyTracingSpanContextSupplierTests.java index 867a9cf10e8..17466d23494 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/prometheus/LazyTracingSpanContextSupplierTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/prometheus/LazyTracingSpanContextSupplierTests.java @@ -34,7 +34,7 @@ import static org.mockito.Mockito.mock; * * @author Andy Wilkinson */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class LazyTracingSpanContextSupplierTests { private final Tracer tracer = mock(Tracer.class); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurationsSenderConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurationsSenderConfigurationTests.java index 5e7d7340b5b..7988fd31083 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurationsSenderConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConfigurationsSenderConfigurationTests.java @@ -50,7 +50,7 @@ import static org.mockito.Mockito.mock; * * @author Moritz Halbritter */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class ZipkinConfigurationsSenderConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientSenderTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientSenderTests.java index f91b13e5323..56e11284d76 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientSenderTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientSenderTests.java @@ -17,7 +17,6 @@ package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; import java.io.IOException; -import java.net.URI; import java.net.http.HttpClient; import java.time.Duration; import java.util.Base64; @@ -36,8 +35,6 @@ import zipkin2.reporter.Encoding; import zipkin2.reporter.HttpEndpointSupplier; import zipkin2.reporter.HttpEndpointSuppliers; -import org.springframework.http.HttpHeaders; - import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatException; import static org.assertj.core.api.Assertions.assertThatIOException; @@ -55,9 +52,14 @@ class ZipkinHttpClientSenderTests extends ZipkinHttpSenderTests { @Override @BeforeEach - void beforeEach() throws Exception { + void beforeEach() { this.mockBackEnd = new MockWebServer(); - this.mockBackEnd.start(); + try { + this.mockBackEnd.start(); + } + catch (Exception ex) { + throw new RuntimeException(ex); + } this.zipkinUrl = this.mockBackEnd.url("/api/v2/spans").toString(); super.beforeEach(); } @@ -109,10 +111,6 @@ class ZipkinHttpClientSenderTests extends ZipkinHttpSenderTests { }); } - /** - * This tests that a dynamic {@linkplain HttpEndpointSupplier} updates are visible to - * {@link HttpSender#postSpans(URI, HttpHeaders, byte[])}. - */ @Test void sendUsesDynamicEndpoint() throws Exception { this.mockBackEnd.enqueue(new MockResponse()); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpSenderTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpSenderTests.java index 5de178b6913..58b6b934e7a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpSenderTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpSenderTests.java @@ -41,7 +41,7 @@ abstract class ZipkinHttpSenderTests { abstract BytesMessageSender createSender(); @BeforeEach - void beforeEach() throws Exception { + void beforeEach() { this.sender = createSender(); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinRestTemplateSenderTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinRestTemplateSenderTests.java index 7e891d7138c..f753677acc9 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinRestTemplateSenderTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinRestTemplateSenderTests.java @@ -17,7 +17,6 @@ package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; import java.io.IOException; -import java.net.URI; import java.util.Base64; import java.util.Collections; import java.util.List; @@ -29,7 +28,6 @@ import zipkin2.reporter.Encoding; import zipkin2.reporter.HttpEndpointSupplier; import zipkin2.reporter.HttpEndpointSuppliers; -import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.test.web.client.MockRestServiceServer; @@ -48,7 +46,7 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat * @author Moritz Halbritter * @author Stefan Bratanov */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class ZipkinRestTemplateSenderTests extends ZipkinHttpSenderTests { private static final String ZIPKIN_URL = "http://localhost:9411/api/v2/spans"; @@ -101,10 +99,6 @@ class ZipkinRestTemplateSenderTests extends ZipkinHttpSenderTests { } } - /** - * This tests that a dynamic {@linkplain HttpEndpointSupplier} updates are visible to - * {@link HttpSender#postSpans(URI, HttpHeaders, byte[])}. - */ @Test void sendUsesDynamicEndpoint() throws Exception { this.mockServer.expect(requestTo(ZIPKIN_URL + "/1")).andRespond(withStatus(HttpStatus.ACCEPTED)); diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinWebClientSenderTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinWebClientSenderTests.java index c917e9f346c..9bce4b83d14 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinWebClientSenderTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinWebClientSenderTests.java @@ -17,7 +17,6 @@ package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; import java.io.IOException; -import java.net.URI; import java.time.Duration; import java.util.Base64; import java.util.Collections; @@ -39,7 +38,6 @@ import zipkin2.reporter.Encoding; import zipkin2.reporter.HttpEndpointSupplier; import zipkin2.reporter.HttpEndpointSuppliers; -import org.springframework.http.HttpHeaders; import org.springframework.web.reactive.function.client.WebClient; import static org.assertj.core.api.Assertions.assertThat; @@ -50,7 +48,7 @@ import static org.assertj.core.api.Assertions.assertThatException; * * @author Stefan Bratanov */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class ZipkinWebClientSenderTests extends ZipkinHttpSenderTests { private static ClearableDispatcher dispatcher; @@ -75,7 +73,7 @@ class ZipkinWebClientSenderTests extends ZipkinHttpSenderTests { @Override @BeforeEach - void beforeEach() throws Exception { + void beforeEach() { super.beforeEach(); clearResponses(); clearRequests(); @@ -122,10 +120,6 @@ class ZipkinWebClientSenderTests extends ZipkinHttpSenderTests { }); } - /** - * This tests that a dynamic {@linkplain HttpEndpointSupplier} updates are visible to - * {@link HttpSender#postSpans(URI, HttpHeaders, byte[])}. - */ @Test void sendUsesDynamicEndpoint() throws Exception { mockBackEnd.enqueue(new MockResponse()); @@ -180,10 +174,16 @@ class ZipkinWebClientSenderTests extends ZipkinHttpSenderTests { assertThat(request).satisfies(assertions); } - private static void clearRequests() throws InterruptedException { + private static void clearRequests() { RecordedRequest request; do { - request = mockBackEnd.takeRequest(0, TimeUnit.SECONDS); + try { + request = mockBackEnd.takeRequest(0, TimeUnit.SECONDS); + } + catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + throw new RuntimeException(ex); + } } while (request != null); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/web/servlet/WebMvcEndpointChildContextConfigurationIntegrationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/web/servlet/WebMvcEndpointChildContextConfigurationIntegrationTests.java index 1699f1091dd..8d014fbf38f 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/web/servlet/WebMvcEndpointChildContextConfigurationIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/web/servlet/WebMvcEndpointChildContextConfigurationIntegrationTests.java @@ -36,7 +36,6 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAu import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; -import org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration; import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration; @@ -216,7 +215,7 @@ class WebMvcEndpointChildContextConfigurationIntegrationTests { } - @RestControllerEndpoint(id = "failController") + @org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint(id = "failController") @SuppressWarnings("removal") static class FailingControllerEndpoint { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/web/reactive/ControllerEndpointHandlerMapping.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/web/reactive/ControllerEndpointHandlerMapping.java index e326a9bada6..1a057cc9010 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/web/reactive/ControllerEndpointHandlerMapping.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/web/reactive/ControllerEndpointHandlerMapping.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -24,9 +24,7 @@ import java.util.Map; import java.util.Set; import org.springframework.boot.actuate.endpoint.web.EndpointMapping; -import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint; import org.springframework.boot.actuate.endpoint.web.annotation.ExposableControllerEndpoint; -import org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint; import org.springframework.util.Assert; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.reactive.HandlerMapping; @@ -35,9 +33,11 @@ import org.springframework.web.reactive.result.method.annotation.RequestMappingH import org.springframework.web.util.pattern.PathPattern; /** - * {@link HandlerMapping} that exposes {@link ControllerEndpoint @ControllerEndpoint} and - * {@link RestControllerEndpoint @RestControllerEndpoint} annotated endpoints over Spring - * WebFlux. + * {@link HandlerMapping} that exposes + * {@link org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint @ControllerEndpoint} + * and + * {@link org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint @RestControllerEndpoint} + * annotated endpoints over Spring WebFlux. * * @author Phillip Webb * @since 2.0.0 diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/web/servlet/ControllerEndpointHandlerMapping.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/web/servlet/ControllerEndpointHandlerMapping.java index 3da646413db..264416db8b2 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/web/servlet/ControllerEndpointHandlerMapping.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/web/servlet/ControllerEndpointHandlerMapping.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -25,9 +25,7 @@ import java.util.Map; import java.util.Set; import org.springframework.boot.actuate.endpoint.web.EndpointMapping; -import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint; import org.springframework.boot.actuate.endpoint.web.annotation.ExposableControllerEndpoint; -import org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint; import org.springframework.util.Assert; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.servlet.HandlerMapping; @@ -36,9 +34,11 @@ import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandl import org.springframework.web.util.pattern.PathPattern; /** - * {@link HandlerMapping} that exposes {@link ControllerEndpoint @ControllerEndpoint} and - * {@link RestControllerEndpoint @RestControllerEndpoint} annotated endpoints over Spring - * MVC. + * {@link HandlerMapping} that exposes + * {@link org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpoint @ControllerEndpoint} + * and + * {@link org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint @RestControllerEndpoint} + * annotated endpoints over Spring MVC. * * @author Phillip Webb * @since 2.0.0 diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/jetty/JettyServerThreadPoolMetricsBinder.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/jetty/JettyServerThreadPoolMetricsBinder.java index 2297b4f96ae..68bb085b6b9 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/jetty/JettyServerThreadPoolMetricsBinder.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/jetty/JettyServerThreadPoolMetricsBinder.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2022 the original author or authors. + * Copyright 2012-2024 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. @@ -46,6 +46,7 @@ public class JettyServerThreadPoolMetricsBinder extends AbstractJettyMetricsBind } @Override + @SuppressWarnings("resource") protected void bindMetrics(Server server) { ThreadPool threadPool = server.getThreadPool(); if (threadPool != null) { diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/EndpointServletTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/EndpointServletTests.java index b4e074ad5a9..1a1d8cf247b 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/EndpointServletTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/EndpointServletTests.java @@ -36,7 +36,7 @@ import static org.assertj.core.api.Assertions.entry; * @author Phillip Webb * @author Stephane Nicoll */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class EndpointServletTests { @Test diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/ServletEndpointRegistrarTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/ServletEndpointRegistrarTests.java index 8959534c823..fc051c7cf46 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/ServletEndpointRegistrarTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/ServletEndpointRegistrarTests.java @@ -48,7 +48,7 @@ import static org.mockito.Mockito.mock; * @author Stephane Nicoll */ @ExtendWith(MockitoExtension.class) -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class ServletEndpointRegistrarTests { @Mock diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpointDiscovererTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpointDiscovererTests.java index f75cb971b2a..a961725e4f9 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpointDiscovererTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpointDiscovererTests.java @@ -49,7 +49,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalStateException; * @author Stephane Nicoll * @author Moritz Halbritter */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class ControllerEndpointDiscovererTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner(); diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/ServletEndpointDiscovererTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/ServletEndpointDiscovererTests.java index 3e91f8cd739..dbfd77e6c15 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/ServletEndpointDiscovererTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/annotation/ServletEndpointDiscovererTests.java @@ -57,7 +57,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalStateException; * @author Stephane Nicoll * @author Moritz Halbritter */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class ServletEndpointDiscovererTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner(); diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/reactive/ControllerEndpointHandlerMappingIntegrationTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/reactive/ControllerEndpointHandlerMappingIntegrationTests.java index a54671819ff..f48587d7184 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/reactive/ControllerEndpointHandlerMappingIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/reactive/ControllerEndpointHandlerMappingIntegrationTests.java @@ -58,7 +58,7 @@ import org.springframework.web.util.DefaultUriBuilderFactory; * @author Phillip Webb * @author Stephane Nicoll */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class ControllerEndpointHandlerMappingIntegrationTests { private final ReactiveWebApplicationContextRunner contextRunner = new ReactiveWebApplicationContextRunner( diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/servlet/ControllerEndpointHandlerMappingIntegrationTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/servlet/ControllerEndpointHandlerMappingIntegrationTests.java index 58aa9df5203..6741c77d047 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/servlet/ControllerEndpointHandlerMappingIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/web/servlet/ControllerEndpointHandlerMappingIntegrationTests.java @@ -57,7 +57,7 @@ import org.springframework.web.util.DefaultUriBuilderFactory; * @author Phillip Webb * @author Stephane Nicoll */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class ControllerEndpointHandlerMappingIntegrationTests { private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner( diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/export/prometheus/PrometheusSimpleclientScrapeEndpointIntegrationTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/export/prometheus/PrometheusSimpleclientScrapeEndpointIntegrationTests.java index 94766f193e8..2b2a0aa328c 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/export/prometheus/PrometheusSimpleclientScrapeEndpointIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/export/prometheus/PrometheusSimpleclientScrapeEndpointIntegrationTests.java @@ -36,7 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Jon Schneider * @author Johnny Lim */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class PrometheusSimpleclientScrapeEndpointIntegrationTests { @WebEndpointTest diff --git a/spring-boot-project/spring-boot-autoconfigure/src/dockerTest/java/org/springframework/boot/autoconfigure/pulsar/PulsarAutoConfigurationIntegrationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/dockerTest/java/org/springframework/boot/autoconfigure/pulsar/PulsarAutoConfigurationIntegrationTests.java index fc9d6ccd908..b95f8477dc8 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/dockerTest/java/org/springframework/boot/autoconfigure/pulsar/PulsarAutoConfigurationIntegrationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/dockerTest/java/org/springframework/boot/autoconfigure/pulsar/PulsarAutoConfigurationIntegrationTests.java @@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.pulsar; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import org.apache.pulsar.client.api.PulsarClientException; import org.junit.jupiter.api.Test; import org.testcontainers.containers.PulsarContainer; import org.testcontainers.junit.jupiter.Container; @@ -106,7 +105,7 @@ class PulsarAutoConfigurationIntegrationTests { } @GetMapping("/hello") - String sayHello() throws PulsarClientException { + String sayHello() { return "Hello World -> " + this.pulsarTemplate.send(TOPIC, "hello"); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/integration/IntegrationAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/integration/IntegrationAutoConfiguration.java index 93f0a3e404b..8498bf60e0e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/integration/IntegrationAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/integration/IntegrationAutoConfiguration.java @@ -43,7 +43,6 @@ import org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfigurati import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.PropertyMapper; import org.springframework.boot.context.properties.source.MutuallyExclusiveConfigurationPropertiesException; -import org.springframework.boot.task.TaskSchedulerBuilder; import org.springframework.boot.task.ThreadPoolTaskSchedulerBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; @@ -171,13 +170,14 @@ public class IntegrationAutoConfiguration { * scheduling explicitly. */ @Configuration(proxyBeanMethods = false) - @ConditionalOnBean(TaskSchedulerBuilder.class) + @ConditionalOnBean(org.springframework.boot.task.TaskSchedulerBuilder.class) @ConditionalOnMissingBean(name = IntegrationContextUtils.TASK_SCHEDULER_BEAN_NAME) - @SuppressWarnings("removal") + @SuppressWarnings({ "deprecation", "removal" }) protected static class IntegrationTaskSchedulerConfiguration { @Bean(name = IntegrationContextUtils.TASK_SCHEDULER_BEAN_NAME) - public ThreadPoolTaskScheduler taskScheduler(TaskSchedulerBuilder taskSchedulerBuilder, + public ThreadPoolTaskScheduler taskScheduler( + org.springframework.boot.task.TaskSchedulerBuilder taskSchedulerBuilder, ObjectProvider threadPoolTaskSchedulerBuilderProvider) { ThreadPoolTaskSchedulerBuilder threadPoolTaskSchedulerBuilder = threadPoolTaskSchedulerBuilderProvider .getIfUnique(); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/pulsar/PulsarConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/pulsar/PulsarConfiguration.java index 64efd410ccf..0f5b860490f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/pulsar/PulsarConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/pulsar/PulsarConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -22,7 +22,6 @@ import java.util.List; import org.apache.pulsar.client.admin.PulsarAdminBuilder; import org.apache.pulsar.client.api.ClientBuilder; import org.apache.pulsar.client.api.PulsarClient; -import org.apache.pulsar.client.api.PulsarClientException; import org.apache.pulsar.client.api.Schema; import org.apache.pulsar.common.schema.SchemaType; @@ -96,7 +95,7 @@ class PulsarConfiguration { @Bean @ConditionalOnMissingBean - PulsarClient pulsarClient(PulsarClientFactory clientFactory) throws PulsarClientException { + PulsarClient pulsarClient(PulsarClientFactory clientFactory) { return clientFactory.createClient(); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutorConfigurations.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutorConfigurations.java index 9e46e106391..90759801c73 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutorConfigurations.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskExecutorConfigurations.java @@ -24,8 +24,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnThreading; import org.springframework.boot.autoconfigure.thread.Threading; import org.springframework.boot.task.SimpleAsyncTaskExecutorBuilder; import org.springframework.boot.task.SimpleAsyncTaskExecutorCustomizer; -import org.springframework.boot.task.TaskExecutorBuilder; -import org.springframework.boot.task.TaskExecutorCustomizer; import org.springframework.boot.task.ThreadPoolTaskExecutorBuilder; import org.springframework.boot.task.ThreadPoolTaskExecutorCustomizer; import org.springframework.context.annotation.Bean; @@ -49,7 +47,6 @@ class TaskExecutorConfigurations { @Configuration(proxyBeanMethods = false) @ConditionalOnMissingBean(Executor.class) - @SuppressWarnings("removal") static class TaskExecutorConfiguration { @Bean(name = { TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME, @@ -63,7 +60,9 @@ class TaskExecutorConfigurations { @Bean(name = { TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME, AsyncAnnotationBeanPostProcessor.DEFAULT_TASK_EXECUTOR_BEAN_NAME }) @ConditionalOnThreading(Threading.PLATFORM) - ThreadPoolTaskExecutor applicationTaskExecutor(TaskExecutorBuilder taskExecutorBuilder, + @SuppressWarnings({ "deprecation", "removal" }) + ThreadPoolTaskExecutor applicationTaskExecutor( + org.springframework.boot.task.TaskExecutorBuilder taskExecutorBuilder, ObjectProvider threadPoolTaskExecutorBuilderProvider) { ThreadPoolTaskExecutorBuilder threadPoolTaskExecutorBuilder = threadPoolTaskExecutorBuilderProvider .getIfUnique(); @@ -82,11 +81,11 @@ class TaskExecutorConfigurations { @Bean @ConditionalOnMissingBean @Deprecated(since = "3.2.0", forRemoval = true) - TaskExecutorBuilder taskExecutorBuilder(TaskExecutionProperties properties, - ObjectProvider taskExecutorCustomizers, + org.springframework.boot.task.TaskExecutorBuilder taskExecutorBuilder(TaskExecutionProperties properties, + ObjectProvider taskExecutorCustomizers, ObjectProvider taskDecorator) { TaskExecutionProperties.Pool pool = properties.getPool(); - TaskExecutorBuilder builder = new TaskExecutorBuilder(); + org.springframework.boot.task.TaskExecutorBuilder builder = new org.springframework.boot.task.TaskExecutorBuilder(); builder = builder.queueCapacity(pool.getQueueCapacity()); builder = builder.corePoolSize(pool.getCoreSize()); builder = builder.maxPoolSize(pool.getMaxSize()); @@ -104,14 +103,15 @@ class TaskExecutorConfigurations { } @Configuration(proxyBeanMethods = false) - @SuppressWarnings("removal") + @SuppressWarnings({ "deprecation", "removal" }) static class ThreadPoolTaskExecutorBuilderConfiguration { @Bean - @ConditionalOnMissingBean({ TaskExecutorBuilder.class, ThreadPoolTaskExecutorBuilder.class }) + @ConditionalOnMissingBean({ org.springframework.boot.task.TaskExecutorBuilder.class, + ThreadPoolTaskExecutorBuilder.class }) ThreadPoolTaskExecutorBuilder threadPoolTaskExecutorBuilder(TaskExecutionProperties properties, ObjectProvider threadPoolTaskExecutorCustomizers, - ObjectProvider taskExecutorCustomizers, + ObjectProvider taskExecutorCustomizers, ObjectProvider taskDecorator) { TaskExecutionProperties.Pool pool = properties.getPool(); ThreadPoolTaskExecutorBuilder builder = new ThreadPoolTaskExecutorBuilder(); @@ -132,7 +132,8 @@ class TaskExecutorConfigurations { return builder; } - private ThreadPoolTaskExecutorCustomizer adapt(TaskExecutorCustomizer customizer) { + private ThreadPoolTaskExecutorCustomizer adapt( + org.springframework.boot.task.TaskExecutorCustomizer customizer) { return customizer::customize; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskSchedulingConfigurations.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskSchedulingConfigurations.java index 59bee07b10c..6d2ddebf5f3 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskSchedulingConfigurations.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/task/TaskSchedulingConfigurations.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -25,8 +25,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnThreading; import org.springframework.boot.autoconfigure.thread.Threading; import org.springframework.boot.task.SimpleAsyncTaskSchedulerBuilder; import org.springframework.boot.task.SimpleAsyncTaskSchedulerCustomizer; -import org.springframework.boot.task.TaskSchedulerBuilder; -import org.springframework.boot.task.TaskSchedulerCustomizer; import org.springframework.boot.task.ThreadPoolTaskSchedulerBuilder; import org.springframework.boot.task.ThreadPoolTaskSchedulerCustomizer; import org.springframework.context.annotation.Bean; @@ -47,7 +45,6 @@ class TaskSchedulingConfigurations { @Configuration(proxyBeanMethods = false) @ConditionalOnBean(name = TaskManagementConfigUtils.SCHEDULED_ANNOTATION_PROCESSOR_BEAN_NAME) @ConditionalOnMissingBean({ TaskScheduler.class, ScheduledExecutorService.class }) - @SuppressWarnings("removal") static class TaskSchedulerConfiguration { @Bean(name = "taskScheduler") @@ -57,8 +54,9 @@ class TaskSchedulingConfigurations { } @Bean + @SuppressWarnings({ "deprecation", "removal" }) @ConditionalOnThreading(Threading.PLATFORM) - ThreadPoolTaskScheduler taskScheduler(TaskSchedulerBuilder taskSchedulerBuilder, + ThreadPoolTaskScheduler taskScheduler(org.springframework.boot.task.TaskSchedulerBuilder taskSchedulerBuilder, ObjectProvider threadPoolTaskSchedulerBuilderProvider) { ThreadPoolTaskSchedulerBuilder threadPoolTaskSchedulerBuilder = threadPoolTaskSchedulerBuilderProvider .getIfUnique(); @@ -71,14 +69,14 @@ class TaskSchedulingConfigurations { } @Configuration(proxyBeanMethods = false) - @SuppressWarnings("removal") + @SuppressWarnings({ "deprecation", "removal" }) static class TaskSchedulerBuilderConfiguration { @Bean @ConditionalOnMissingBean - TaskSchedulerBuilder taskSchedulerBuilder(TaskSchedulingProperties properties, - ObjectProvider taskSchedulerCustomizers) { - TaskSchedulerBuilder builder = new TaskSchedulerBuilder(); + org.springframework.boot.task.TaskSchedulerBuilder taskSchedulerBuilder(TaskSchedulingProperties properties, + ObjectProvider taskSchedulerCustomizers) { + org.springframework.boot.task.TaskSchedulerBuilder builder = new org.springframework.boot.task.TaskSchedulerBuilder(); builder = builder.poolSize(properties.getPool().getSize()); TaskSchedulingProperties.Shutdown shutdown = properties.getShutdown(); builder = builder.awaitTermination(shutdown.isAwaitTermination()); @@ -91,14 +89,15 @@ class TaskSchedulingConfigurations { } @Configuration(proxyBeanMethods = false) - @SuppressWarnings("removal") + @SuppressWarnings({ "deprecation", "removal" }) static class ThreadPoolTaskSchedulerBuilderConfiguration { @Bean - @ConditionalOnMissingBean({ TaskSchedulerBuilder.class, ThreadPoolTaskSchedulerBuilder.class }) + @ConditionalOnMissingBean({ org.springframework.boot.task.TaskSchedulerBuilder.class, + ThreadPoolTaskSchedulerBuilder.class }) ThreadPoolTaskSchedulerBuilder threadPoolTaskSchedulerBuilder(TaskSchedulingProperties properties, ObjectProvider threadPoolTaskSchedulerCustomizers, - ObjectProvider taskSchedulerCustomizers) { + ObjectProvider taskSchedulerCustomizers) { TaskSchedulingProperties.Shutdown shutdown = properties.getShutdown(); ThreadPoolTaskSchedulerBuilder builder = new ThreadPoolTaskSchedulerBuilder(); builder = builder.poolSize(properties.getPool().getSize()); @@ -111,7 +110,8 @@ class TaskSchedulingConfigurations { return builder; } - private ThreadPoolTaskSchedulerCustomizer adapt(TaskSchedulerCustomizer customizer) { + private ThreadPoolTaskSchedulerCustomizer adapt( + org.springframework.boot.task.TaskSchedulerCustomizer customizer) { return customizer::customize; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestClientAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestClientAutoConfiguration.java index 6198b70bfae..6281d471042 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestClientAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestClientAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -35,13 +35,14 @@ import org.springframework.context.annotation.Scope; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.web.client.RestClient; +import org.springframework.web.client.RestClient.Builder; /** * {@link EnableAutoConfiguration Auto-configuration} for {@link RestClient}. *

- * This will produce a {@link RestClient.Builder RestClient.Builder} bean with the - * {@code prototype} scope, meaning each injection point will receive a newly cloned - * instance of the builder. + * This will produce a {@link Builder RestClient.Builder} bean with the {@code prototype} + * scope, meaning each injection point will receive a newly cloned instance of the + * builder. * * @author Arjen Poutsma * @author Moritz Halbritter diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestClientBuilderConfigurer.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestClientBuilderConfigurer.java index 8d6f57bd461..3fe41101b7e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestClientBuilderConfigurer.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestClientBuilderConfigurer.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -23,7 +23,7 @@ import org.springframework.web.client.RestClient; import org.springframework.web.client.RestClient.Builder; /** - * Configure {@link RestClient.Builder} with sensible defaults. + * Configure {@link Builder RestClient.Builder} with sensible defaults. * * @author Moritz Halbritter * @since 3.2.0 @@ -37,9 +37,9 @@ public class RestClientBuilderConfigurer { } /** - * Configure the specified {@link RestClient.Builder}. The builder can be further - * tuned and default settings can be overridden. - * @param builder the {@link RestClient.Builder} instance to configure + * Configure the specified {@link Builder RestClient.Builder}. The builder can be + * further tuned and default settings can be overridden. + * @param builder the {@link Builder RestClient.Builder} instance to configure * @return the configured builder */ public RestClient.Builder configure(RestClient.Builder builder) { diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfigurationTests.java index 75a44a5ce59..a5c68a41411 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/GraphQlAutoConfigurationTests.java @@ -27,7 +27,6 @@ import graphql.schema.GraphQLObjectType; import graphql.schema.GraphQLOutputType; import graphql.schema.GraphQLSchema; import graphql.schema.idl.RuntimeWiring; -import graphql.schema.visibility.DefaultGraphqlFieldVisibility; import org.assertj.core.api.InstanceOfAssertFactories; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -171,20 +170,13 @@ class GraphQlAutoConfigurationTests { @Test void fieldIntrospectionShouldBeEnabledByDefault() { - this.contextRunner.run((context) -> { - GraphQlSource graphQlSource = context.getBean(GraphQlSource.class); - GraphQLSchema schema = graphQlSource.schema(); - assertThat(schema.getCodeRegistry().getFieldVisibility()).isInstanceOf(DefaultGraphqlFieldVisibility.class); - }); + this.contextRunner.run((context) -> assertThat(Introspection.isEnabledJvmWide()).isTrue()); } @Test void shouldDisableFieldIntrospection() { - this.contextRunner.withPropertyValues("spring.graphql.schema.introspection.enabled:false").run((context) -> { - GraphQlSource graphQlSource = context.getBean(GraphQlSource.class); - GraphQLSchema schema = graphQlSource.schema(); - assertThat(Introspection.isEnabledJvmWide()).isFalse(); - }); + this.contextRunner.withPropertyValues("spring.graphql.schema.introspection.enabled:false") + .run((context) -> assertThat(Introspection.isEnabledJvmWide()).isFalse()); } @Test diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfigurationTests.java index 2ba81d5afea..bb41ec20c7d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/task/TaskExecutionAutoConfigurationTests.java @@ -80,6 +80,7 @@ class TaskExecutionAutoConfigurationTests { } @Test + @SuppressWarnings("deprecation") void shouldNotSupplyThreadPoolTaskExecutorBuilderIfCustomTaskExecutorBuilderIsPresent() { this.contextRunner.withBean(TaskExecutorBuilder.class, TaskExecutorBuilder::new).run((context) -> { assertThat(context).hasSingleBean(TaskExecutorBuilder.class); @@ -164,6 +165,7 @@ class TaskExecutionAutoConfigurationTests { } @Test + @SuppressWarnings("deprecation") void taskExecutorBuilderShouldUseTaskDecorator() { this.contextRunner.withUserConfiguration(TaskDecoratorConfig.class).run((context) -> { assertThat(context).hasSingleBean(TaskExecutorBuilder.class); @@ -275,6 +277,7 @@ class TaskExecutionAutoConfigurationTests { } @Test + @SuppressWarnings("deprecation") void taskExecutorBuilderShouldApplyCustomizer() { this.contextRunner.withUserConfiguration(TaskExecutorCustomizerConfig.class).run((context) -> { TaskExecutorCustomizer customizer = context.getBean(TaskExecutorCustomizer.class); @@ -284,6 +287,7 @@ class TaskExecutionAutoConfigurationTests { } @Test + @SuppressWarnings("deprecation") void threadPoolTaskExecutorBuilderShouldApplyCustomizer() { this.contextRunner.withUserConfiguration(TaskExecutorCustomizerConfig.class).run((context) -> { TaskExecutorCustomizer customizer = context.getBean(TaskExecutorCustomizer.class); @@ -335,6 +339,7 @@ class TaskExecutionAutoConfigurationTests { }); } + @SuppressWarnings("deprecation") private ContextConsumer assertTaskExecutor( Consumer taskExecutor) { return (context) -> { @@ -379,7 +384,8 @@ class TaskExecutionAutoConfigurationTests { @Configuration(proxyBeanMethods = false) static class CustomTaskExecutorBuilderConfig { - private final TaskExecutorBuilder taskExecutorBuilder = new TaskExecutorBuilder() + @SuppressWarnings("deprecation") + private final org.springframework.boot.task.TaskExecutorBuilder taskExecutorBuilder = new org.springframework.boot.task.TaskExecutorBuilder() .threadNamePrefix("CustomTaskExecutorBuilderConfig-"); @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfigurationTests.java index 57ed26c15ca..0171c72681d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/task/TaskSchedulingAutoConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -87,6 +87,7 @@ class TaskSchedulingAutoConfigurationTests { } @Test + @SuppressWarnings("deprecation") void shouldNotSupplyThreadPoolTaskSchedulerBuilderIfCustomTaskSchedulerBuilderIsPresent() { this.contextRunner.withUserConfiguration(SchedulingConfiguration.class) .withBean(TaskSchedulerBuilder.class, TaskSchedulerBuilder::new) @@ -155,7 +156,6 @@ class TaskSchedulingAutoConfigurationTests { } @Test - @SuppressWarnings("unchecked") void simpleAsyncTaskSchedulerBuilderShouldApplyCustomizers() { SimpleAsyncTaskSchedulerCustomizer customizer = (scheduler) -> { }; diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/messaging/pulsar/readingreactive/MyBean.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/messaging/pulsar/readingreactive/MyBean.java index c42145288d5..f3a735ac2f2 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/messaging/pulsar/readingreactive/MyBean.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/messaging/pulsar/readingreactive/MyBean.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2023 the original author or authors. + * Copyright 2023-2024 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. @@ -37,6 +37,7 @@ public class MyBean { this.pulsarReaderFactory = pulsarReaderFactory; } + @SuppressWarnings("unused") public void someMethod() { ReactiveMessageReaderBuilderCustomizer readerBuilderCustomizer = (readerBuilder) -> readerBuilder .topic("someTopic") diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/messaging/pulsar/sending/MyBean.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/messaging/pulsar/sending/MyBean.java index 7b6610b03e9..ec923a1d584 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/messaging/pulsar/sending/MyBean.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/messaging/pulsar/sending/MyBean.java @@ -1,5 +1,5 @@ /* - * Copyright 2023-2023 the original author or authors. + * Copyright 2023-2024 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. @@ -16,8 +16,6 @@ package org.springframework.boot.docs.messaging.pulsar.sending; -import org.apache.pulsar.client.api.PulsarClientException; - import org.springframework.pulsar.core.PulsarTemplate; import org.springframework.stereotype.Component; @@ -30,7 +28,7 @@ public class MyBean { this.pulsarTemplate = pulsarTemplate; } - public void someMethod() throws PulsarClientException { + public void someMethod() { this.pulsarTemplate.send("someTopic", "Hello"); } diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/AutoConfigureMockRestServiceServer.java b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/AutoConfigureMockRestServiceServer.java index 43e1aac70e0..60c7d13bdcb 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/AutoConfigureMockRestServiceServer.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/AutoConfigureMockRestServiceServer.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -29,13 +29,13 @@ import org.springframework.boot.test.web.client.MockServerRestClientCustomizer; import org.springframework.boot.test.web.client.MockServerRestTemplateCustomizer; import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.test.web.client.MockRestServiceServer; -import org.springframework.web.client.RestClient; +import org.springframework.web.client.RestClient.Builder; /** * Annotation that can be applied to a test class to enable and configure * auto-configuration of a single {@link MockRestServiceServer}. Only useful when a single - * call is made to {@link RestTemplateBuilder} or {@link RestClient.Builder}. If multiple - * {@link org.springframework.web.client.RestTemplate RestTemplates} or + * call is made to {@link RestTemplateBuilder} or {@link Builder RestClient.Builder}. If + * multiple {@link org.springframework.web.client.RestTemplate RestTemplates} or * {@link org.springframework.web.client.RestClient RestClients} are in use, inject a * {@link MockServerRestTemplateCustomizer} and use * {@link MockServerRestTemplateCustomizer#getServer(org.springframework.web.client.RestTemplate) diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/RestClientTest.java b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/RestClientTest.java index 8a93b1b4222..31c2afcaa7b 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/RestClientTest.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/web/client/RestClientTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -38,12 +38,12 @@ import org.springframework.stereotype.Component; import org.springframework.test.context.BootstrapWith; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.web.client.MockRestServiceServer; -import org.springframework.web.client.RestClient; +import org.springframework.web.client.RestClient.Builder; import org.springframework.web.client.RestTemplate; /** * Annotation for a Spring rest client test that focuses only on beans - * that use {@link RestTemplateBuilder} or {@link RestClient.Builder}. + * that use {@link RestTemplateBuilder} or {@link Builder RestClient.Builder}. *

* Using this annotation will disable full auto-configuration and instead apply only * configuration relevant to rest client tests (i.e. Jackson or GSON auto-configuration diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/ConditionReportApplicationContextFailureProcessorTests.java b/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/ConditionReportApplicationContextFailureProcessorTests.java index cd05b5ccf91..e5c1eea0427 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/ConditionReportApplicationContextFailureProcessorTests.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/ConditionReportApplicationContextFailureProcessorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -40,7 +40,7 @@ import static org.assertj.core.api.Assertions.assertThat; class ConditionReportApplicationContextFailureProcessorTests { @Test - void loadFailureShouldPrintReport(CapturedOutput output) throws Exception { + void loadFailureShouldPrintReport(CapturedOutput output) { SpringApplication application = new SpringApplication(TestConfig.class); application.setWebApplicationType(WebApplicationType.NONE); ConfigurableApplicationContext applicationContext = application.run(); diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactoryTests.java b/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactoryTests.java index c8604bf5307..a6c48a6192c 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactoryTests.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/actuate/observability/ObservabilityContextCustomizerFactoryTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -20,7 +20,6 @@ import java.util.Collections; import org.junit.jupiter.api.Test; -import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.GenericApplicationContext; import org.springframework.mock.env.MockEnvironment; @@ -148,11 +147,6 @@ class ObservabilityContextCustomizerFactoryTests { return contextCustomizer; } - private ApplicationContextInitializer applyCustomizer( - ContextCustomizer customizer) { - return (applicationContext) -> customizer.customizeContext(applicationContext, null); - } - private void assertThatTracingIsDisabled(ConfigurableApplicationContext context) { assertThat(context.getEnvironment().getProperty("management.tracing.enabled")).isEqualTo("false"); } diff --git a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/web/client/MockServerRestClientCustomizer.java b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/web/client/MockServerRestClientCustomizer.java index b34d4726165..a41fb5247b7 100644 --- a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/web/client/MockServerRestClientCustomizer.java +++ b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/web/client/MockServerRestClientCustomizer.java @@ -30,9 +30,10 @@ import org.springframework.test.web.client.RequestExpectationManager; import org.springframework.test.web.client.SimpleRequestExpectationManager; import org.springframework.util.Assert; import org.springframework.web.client.RestClient; +import org.springframework.web.client.RestClient.Builder; /** - * {@link RestClientCustomizer} that can be applied to {@link RestClient.Builder} + * {@link RestClientCustomizer} that can be applied to {@link Builder RestClient.Builder} * instances to add {@link MockRestServiceServer} support. *

* Typically applied to an existing builder before it is used, for example: diff --git a/spring-boot-project/spring-boot-testcontainers/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/pulsar/PulsarContainerConnectionDetailsFactoryIntegrationTests.java b/spring-boot-project/spring-boot-testcontainers/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/pulsar/PulsarContainerConnectionDetailsFactoryIntegrationTests.java index 6ebe0b92c2b..32525783010 100644 --- a/spring-boot-project/spring-boot-testcontainers/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/pulsar/PulsarContainerConnectionDetailsFactoryIntegrationTests.java +++ b/spring-boot-project/spring-boot-testcontainers/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/pulsar/PulsarContainerConnectionDetailsFactoryIntegrationTests.java @@ -20,7 +20,6 @@ import java.time.Duration; import java.util.ArrayList; import java.util.List; -import org.apache.pulsar.client.api.PulsarClientException; import org.awaitility.Awaitility; import org.junit.jupiter.api.Test; import org.testcontainers.containers.PulsarContainer; @@ -63,7 +62,7 @@ class PulsarContainerConnectionDetailsFactoryIntegrationTests { private TestListener listener; @Test - void connectionCanBeMadeToPulsarContainer() throws PulsarClientException { + void connectionCanBeMadeToPulsarContainer() { this.pulsarTemplate.send("test-topic", "test-data"); Awaitility.waitAtMost(Duration.ofSeconds(30)) .untilAsserted(() -> assertThat(this.listener.messages).containsExactly("test-data")); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/record/RecordWithGetter.java b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/record/RecordWithGetter.java index d2509ccebf8..73d248af9e1 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/record/RecordWithGetter.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/record/RecordWithGetter.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -18,10 +18,6 @@ package org.springframework.boot.configurationsample.record; import org.springframework.boot.configurationsample.ConfigurationProperties; -/** - * @author Moritz Halbritter - * @param alpha the alpha property - */ @ConfigurationProperties("record-with-getter") public record RecordWithGetter(String alpha) { diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java index 6630fef9fa1..4f848be418c 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleVersions.java @@ -32,7 +32,6 @@ public final class GradleVersions { private GradleVersions() { } - @SuppressWarnings("UnstableApiUsage") public static List allCompatible() { if (isJavaVersion(JavaVersion.VERSION_20)) { return Arrays.asList("8.1.1", "8.9"); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/Packager.java b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/Packager.java index dc75047686e..07fa54e6635 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/Packager.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/Packager.java @@ -268,6 +268,12 @@ public abstract class Packager { } } + /** + * Writes a signature file if necessary for the given {@code writtenLibraries}. + * @param writtenLibraries the libraries + * @param writer the writer to use to write the signature file if necessary + * @throws IOException if a failure occurs when writing the signature file + */ protected void writeSignatureFileIfNecessary(Map writtenLibraries, AbstractJarWriter writer) throws IOException { } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/zip/ByteArrayDataBlockTests.java b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/zip/ByteArrayDataBlockTests.java index 7c78ec4276f..a700092fddc 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/zip/ByteArrayDataBlockTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/zip/ByteArrayDataBlockTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -33,44 +33,49 @@ class ByteArrayDataBlockTests { @Test void sizeReturnsByteArrayLength() throws Exception { - ByteArrayDataBlock dataBlock = new ByteArrayDataBlock(this.BYTES); - assertThat(dataBlock.size()).isEqualTo(this.BYTES.length); + try (ByteArrayDataBlock dataBlock = new ByteArrayDataBlock(this.BYTES)) { + assertThat(dataBlock.size()).isEqualTo(this.BYTES.length); + } } @Test void readPutsBytes() throws Exception { - ByteArrayDataBlock dataBlock = new ByteArrayDataBlock(this.BYTES); - ByteBuffer dst = ByteBuffer.allocate(8); - int result = dataBlock.read(dst, 0); - assertThat(result).isEqualTo(8); - assertThat(dst.array()).containsExactly(this.BYTES); + try (ByteArrayDataBlock dataBlock = new ByteArrayDataBlock(this.BYTES)) { + ByteBuffer dst = ByteBuffer.allocate(8); + int result = dataBlock.read(dst, 0); + assertThat(result).isEqualTo(8); + assertThat(dst.array()).containsExactly(this.BYTES); + } } @Test void readWhenLessBytesThanRemainingInBufferPutsBytes() throws Exception { - ByteArrayDataBlock dataBlock = new ByteArrayDataBlock(this.BYTES); - ByteBuffer dst = ByteBuffer.allocate(9); - int result = dataBlock.read(dst, 0); - assertThat(result).isEqualTo(8); - assertThat(dst.array()).containsExactly(0, 1, 2, 3, 4, 5, 6, 7, 0); + try (ByteArrayDataBlock dataBlock = new ByteArrayDataBlock(this.BYTES)) { + ByteBuffer dst = ByteBuffer.allocate(9); + int result = dataBlock.read(dst, 0); + assertThat(result).isEqualTo(8); + assertThat(dst.array()).containsExactly(0, 1, 2, 3, 4, 5, 6, 7, 0); + } } @Test void readWhenLessRemainingInBufferThanLengthPutsBytes() throws Exception { - ByteArrayDataBlock dataBlock = new ByteArrayDataBlock(this.BYTES); - ByteBuffer dst = ByteBuffer.allocate(7); - int result = dataBlock.read(dst, 0); - assertThat(result).isEqualTo(7); - assertThat(dst.array()).containsExactly(0, 1, 2, 3, 4, 5, 6); + try (ByteArrayDataBlock dataBlock = new ByteArrayDataBlock(this.BYTES)) { + ByteBuffer dst = ByteBuffer.allocate(7); + int result = dataBlock.read(dst, 0); + assertThat(result).isEqualTo(7); + assertThat(dst.array()).containsExactly(0, 1, 2, 3, 4, 5, 6); + } } @Test void readWhenHasPosOffsetReadsBytes() throws Exception { - ByteArrayDataBlock dataBlock = new ByteArrayDataBlock(this.BYTES); - ByteBuffer dst = ByteBuffer.allocate(3); - int result = dataBlock.read(dst, 4); - assertThat(result).isEqualTo(3); - assertThat(dst.array()).containsExactly(4, 5, 6); + try (ByteArrayDataBlock dataBlock = new ByteArrayDataBlock(this.BYTES)) { + ByteBuffer dst = ByteBuffer.allocate(3); + int result = dataBlock.read(dst, 4); + assertThat(result).isEqualTo(3); + assertThat(dst.array()).containsExactly(4, 5, 6); + } } } diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystem.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystem.java index 27e67971cf5..21d4d47a397 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystem.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/Log4J2LoggingSystem.java @@ -83,8 +83,6 @@ import org.springframework.util.StringUtils; */ public class Log4J2LoggingSystem extends AbstractLoggingSystem { - private static final String FILE_PROTOCOL = "file"; - private static final String LOG4J_BRIDGE_HANDLER = "org.apache.logging.log4j.jul.Log4jBridgeHandler"; private static final String LOG4J_LOG_MANAGER = "org.apache.logging.log4j.jul.LogManager"; diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/client/ClientHttpRequestFactories.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/client/ClientHttpRequestFactories.java index eae87ce9b1a..033b2c21e0b 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/client/ClientHttpRequestFactories.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/client/ClientHttpRequestFactories.java @@ -51,7 +51,6 @@ import org.springframework.http.client.ClientHttpRequestFactory; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.http.client.JdkClientHttpRequestFactory; import org.springframework.http.client.JettyClientHttpRequestFactory; -import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; import org.springframework.http.client.SimpleClientHttpRequestFactory; import org.springframework.util.Assert; import org.springframework.util.ClassUtils; @@ -90,7 +89,8 @@ public final class ClientHttpRequestFactories { *

    *
  1. {@link HttpComponentsClientHttpRequestFactory}
  2. *
  3. {@link JettyClientHttpRequestFactory}
  4. - *
  5. {@link OkHttp3ClientHttpRequestFactory} (deprecated)
  6. + *
  7. {@link org.springframework.http.client.OkHttp3ClientHttpRequestFactory + * OkHttp3ClientHttpRequestFactory} (deprecated)
  8. *
  9. {@link SimpleClientHttpRequestFactory}
  10. *
* @param settings the settings to apply @@ -120,7 +120,8 @@ public final class ClientHttpRequestFactories { *
  • {@link HttpComponentsClientHttpRequestFactory}
  • *
  • {@link JdkClientHttpRequestFactory}
  • *
  • {@link JettyClientHttpRequestFactory}
  • - *
  • {@link OkHttp3ClientHttpRequestFactory} (deprecated)
  • + *
  • {@link org.springframework.http.client.OkHttp3ClientHttpRequestFactory + * OkHttp3ClientHttpRequestFactory} (deprecated)
  • *
  • {@link SimpleClientHttpRequestFactory}
  • * * A {@code requestFactoryType} of {@link ClientHttpRequestFactory} is equivalent to @@ -149,7 +150,7 @@ public final class ClientHttpRequestFactories { if (requestFactoryType == SimpleClientHttpRequestFactory.class) { return (T) Simple.get(settings); } - if (requestFactoryType == OkHttp3ClientHttpRequestFactory.class) { + if (requestFactoryType == org.springframework.http.client.OkHttp3ClientHttpRequestFactory.class) { return (T) OkHttp.get(settings); } return get(() -> createRequestFactory(requestFactoryType), settings); @@ -220,21 +221,25 @@ public final class ClientHttpRequestFactories { } /** - * Support for {@link OkHttp3ClientHttpRequestFactory}. + * Support for + * {@link org.springframework.http.client.OkHttp3ClientHttpRequestFactory}. */ @Deprecated(since = "3.2.0", forRemoval = true) @SuppressWarnings("removal") static class OkHttp { - static OkHttp3ClientHttpRequestFactory get(ClientHttpRequestFactorySettings settings) { - OkHttp3ClientHttpRequestFactory requestFactory = createRequestFactory(settings.sslBundle()); + static org.springframework.http.client.OkHttp3ClientHttpRequestFactory get( + ClientHttpRequestFactorySettings settings) { + org.springframework.http.client.OkHttp3ClientHttpRequestFactory requestFactory = createRequestFactory( + settings.sslBundle()); PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull(); map.from(settings::connectTimeout).asInt(Duration::toMillis).to(requestFactory::setConnectTimeout); map.from(settings::readTimeout).asInt(Duration::toMillis).to(requestFactory::setReadTimeout); return requestFactory; } - private static OkHttp3ClientHttpRequestFactory createRequestFactory(SslBundle sslBundle) { + private static org.springframework.http.client.OkHttp3ClientHttpRequestFactory createRequestFactory( + SslBundle sslBundle) { if (sslBundle != null) { Assert.state(!sslBundle.getOptions().isSpecified(), "SSL Options cannot be specified with OkHttp"); SSLSocketFactory socketFactory = sslBundle.createSslContext().getSocketFactory(); @@ -244,9 +249,9 @@ public final class ClientHttpRequestFactories { OkHttpClient client = new OkHttpClient.Builder() .sslSocketFactory(socketFactory, (X509TrustManager) trustManagers[0]) .build(); - return new OkHttp3ClientHttpRequestFactory(client); + return new org.springframework.http.client.OkHttp3ClientHttpRequestFactory(client); } - return new OkHttp3ClientHttpRequestFactory(); + return new org.springframework.http.client.OkHttp3ClientHttpRequestFactory(); } } diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesRuntimeHints.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesRuntimeHints.java index 45a3744a4b8..c249be763fc 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesRuntimeHints.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesRuntimeHints.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -29,7 +29,6 @@ import org.springframework.http.client.AbstractClientHttpRequestFactoryWrapper; import org.springframework.http.client.ClientHttpRequestFactory; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.http.client.JettyClientHttpRequestFactory; -import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; import org.springframework.http.client.SimpleClientHttpRequestFactory; import org.springframework.util.Assert; import org.springframework.util.ClassUtils; @@ -72,7 +71,7 @@ class ClientHttpRequestFactoriesRuntimeHints implements RuntimeHintsRegistrar { private void registerOkHttpHints(ReflectionHints hints, ClassLoader classLoader) { hints.registerTypeIfPresent(classLoader, ClientHttpRequestFactories.OKHTTP_CLIENT_CLASS, (typeHint) -> { typeHint.onReachableType(TypeReference.of(ClientHttpRequestFactories.OKHTTP_CLIENT_CLASS)); - registerReflectionHints(hints, OkHttp3ClientHttpRequestFactory.class); + registerReflectionHints(hints, org.springframework.http.client.OkHttp3ClientHttpRequestFactory.class); }); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/config/StandardConfigDataLocationResolverTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/config/StandardConfigDataLocationResolverTests.java index 3f39c8643ad..6b221e15f2b 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/config/StandardConfigDataLocationResolverTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/config/StandardConfigDataLocationResolverTests.java @@ -284,7 +284,6 @@ class StandardConfigDataLocationResolverTests { void resolveWhenOptionalAndLoaderIsUnknownAndExtensionIsUnknownShouldNotFail() { ConfigDataLocation location = ConfigDataLocation .of("optional:some-unknown-loader:dummy.some-unknown-extension"); - List locations = this.resolver.resolve(this.context, location); assertThatNoException().isThrownBy(() -> this.resolver.resolve(this.context, location)); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/ConfigurationPropertiesBeanRegistrationAotProcessorTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/ConfigurationPropertiesBeanRegistrationAotProcessorTests.java index ecca38bfdc6..3c01eb0dcfb 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/ConfigurationPropertiesBeanRegistrationAotProcessorTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/ConfigurationPropertiesBeanRegistrationAotProcessorTests.java @@ -227,6 +227,7 @@ class ConfigurationPropertiesBeanRegistrationAotProcessorTests { this.counter = counter; } + @SuppressWarnings("unused") private ValueObjectWithSpecificConstructorSampleBean(String name) { this(name, 42); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/task/TaskExecutorBuilderTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/task/TaskExecutorBuilderTests.java index 7df760b63f8..4c786b7299a 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/task/TaskExecutorBuilderTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/task/TaskExecutorBuilderTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -37,7 +37,7 @@ import static org.mockito.Mockito.spy; * @author Stephane Nicoll * @author Filip Hrisafov */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class TaskExecutorBuilderTests { private final TaskExecutorBuilder builder = new TaskExecutorBuilder(); diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/task/TaskSchedulerBuilderTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/task/TaskSchedulerBuilderTests.java index 095e8fda4ed..c13cb8827ec 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/task/TaskSchedulerBuilderTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/task/TaskSchedulerBuilderTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -35,7 +35,7 @@ import static org.mockito.Mockito.spy; * * @author Stephane Nicoll */ -@SuppressWarnings("removal") +@SuppressWarnings({ "deprecation", "removal" }) class TaskSchedulerBuilderTests { private final TaskSchedulerBuilder builder = new TaskSchedulerBuilder(); diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesRuntimeHintsTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesRuntimeHintsTests.java index 1fc41a8e29e..382b7f33bd5 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesRuntimeHintsTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesRuntimeHintsTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -27,7 +27,6 @@ import org.springframework.aot.hint.predicate.RuntimeHintsPredicates; import org.springframework.http.client.AbstractClientHttpRequestFactoryWrapper; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.http.client.JettyClientHttpRequestFactory; -import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; import org.springframework.http.client.SimpleClientHttpRequestFactory; import org.springframework.util.ReflectionUtils; @@ -69,11 +68,15 @@ class ClientHttpRequestFactoriesRuntimeHintsTests { RuntimeHints hints = new RuntimeHints(); new ClientHttpRequestFactoriesRuntimeHints().registerHints(hints, getClass().getClassLoader()); ReflectionHintsPredicates reflection = RuntimeHintsPredicates.reflection(); - assertThat(reflection.onMethod(method(OkHttp3ClientHttpRequestFactory.class, "setConnectTimeout", int.class))) + assertThat(reflection.onMethod(method(org.springframework.http.client.OkHttp3ClientHttpRequestFactory.class, + "setConnectTimeout", int.class))) .accepts(hints); - assertThat(reflection.onMethod(method(OkHttp3ClientHttpRequestFactory.class, "setReadTimeout", int.class))) + assertThat(reflection.onMethod(method(org.springframework.http.client.OkHttp3ClientHttpRequestFactory.class, + "setReadTimeout", int.class))) .accepts(hints); - assertThat(hints.reflection().getTypeHint(OkHttp3ClientHttpRequestFactory.class).methods()).hasSize(2); + assertThat(hints.reflection() + .getTypeHint(org.springframework.http.client.OkHttp3ClientHttpRequestFactory.class) + .methods()).hasSize(2); } @Test diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesTests.java index 59794a15b68..f9c0e85b9b1 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/client/ClientHttpRequestFactoriesTests.java @@ -27,7 +27,6 @@ import org.springframework.http.client.ClientHttpRequest; import org.springframework.http.client.ClientHttpRequestFactory; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.http.client.JdkClientHttpRequestFactory; -import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; import org.springframework.http.client.SimpleClientHttpRequestFactory; import static org.assertj.core.api.Assertions.assertThat; @@ -72,9 +71,10 @@ class ClientHttpRequestFactoriesTests { @Deprecated(since = "3.2.0") @SuppressWarnings("removal") void getOfOkHttpFactoryReturnsOkHttpFactory() { - ClientHttpRequestFactory requestFactory = ClientHttpRequestFactories.get(OkHttp3ClientHttpRequestFactory.class, + ClientHttpRequestFactory requestFactory = ClientHttpRequestFactories.get( + org.springframework.http.client.OkHttp3ClientHttpRequestFactory.class, ClientHttpRequestFactorySettings.DEFAULTS); - assertThat(requestFactory).isInstanceOf(OkHttp3ClientHttpRequestFactory.class); + assertThat(requestFactory).isInstanceOf(org.springframework.http.client.OkHttp3ClientHttpRequestFactory.class); } @Test diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ManagementDifferentPortAndEndpointWithExceptionHandlerSampleActuatorApplicationTests.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ManagementDifferentPortAndEndpointWithExceptionHandlerSampleActuatorApplicationTests.java index 3b2f52f533e..babfb27cd5d 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ManagementDifferentPortAndEndpointWithExceptionHandlerSampleActuatorApplicationTests.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ManagementDifferentPortAndEndpointWithExceptionHandlerSampleActuatorApplicationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2024 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. @@ -18,7 +18,6 @@ package smoketest.actuator; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.boot.test.web.server.LocalManagementPort; @@ -30,8 +29,8 @@ import static org.assertj.core.api.Assertions.assertThat; /** * Integration tests for separate management and main service ports with Actuator's MVC - * {@link RestControllerEndpoint rest controller endpoints} and {@link ExceptionHandler - * exception handler}. + * {@link org.springframework.boot.actuate.endpoint.web.annotation.RestControllerEndpoint + * rest controller endpoints} and {@link ExceptionHandler exception handler}. * * @author Guirong Hu */