From 4763ef2463fc31e86113d60d15ed1c078b0f5714 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Mon, 12 May 2025 15:48:45 +0100 Subject: [PATCH] Move code from spring-boot-actuator to spring-boot-http-client-reactive --- .../web/client/WebClientObservationConfiguration.java | 6 +++--- .../web/client/WebClientObservationConfigurationTests.java | 4 ++-- .../spring-boot-http-client-reactive/build.gradle | 1 + .../observation}/ObservationWebClientCustomizer.java | 4 ++-- .../reactive/web/actuate/observation}/package-info.java | 7 +++---- .../observation}/ObservationWebClientCustomizerTests.java | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/client => spring-boot-http-client-reactive/src/main/java/org/springframework/boot/http/client/reactive/web/actuate/observation}/ObservationWebClientCustomizer.java (93%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/client => spring-boot-http-client-reactive/src/main/java/org/springframework/boot/http/client/reactive/web/actuate/observation}/package-info.java (71%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/reactive/client => spring-boot-http-client-reactive/src/test/java/org/springframework/boot/http/client/reactive/web/actuate/observation}/ObservationWebClientCustomizerTests.java (93%) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfiguration.java index 2df9c4bf91..15731371d9 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 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. @@ -21,8 +21,8 @@ import io.micrometer.observation.ObservationRegistry; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties; import org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties; -import org.springframework.boot.actuate.metrics.web.reactive.client.ObservationWebClientCustomizer; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.http.client.reactive.web.actuate.observation.ObservationWebClientCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.reactive.function.client.ClientRequestObservationConvention; @@ -35,7 +35,7 @@ import org.springframework.web.reactive.function.client.WebClient; * @author Brian Clozel */ @Configuration(proxyBeanMethods = false) -@ConditionalOnClass(WebClient.class) +@ConditionalOnClass({ WebClient.class, ObservationWebClientCustomizer.class }) class WebClientObservationConfiguration { @Bean diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfigurationTests.java index 98dec81100..38b63c20e8 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2024 the original author or authors. + * Copyright 2012-2025 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. @@ -28,8 +28,8 @@ import reactor.core.publisher.Mono; import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun; import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration; -import org.springframework.boot.actuate.metrics.web.reactive.client.ObservationWebClientCustomizer; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.http.client.reactive.web.actuate.observation.ObservationWebClientCustomizer; import org.springframework.boot.http.client.reactive.web.autoconfigure.WebClientAutoConfiguration; import org.springframework.boot.test.context.assertj.AssertableApplicationContext; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-boot-project/spring-boot-http-client-reactive/build.gradle b/spring-boot-project/spring-boot-http-client-reactive/build.gradle index e6a7404226..6525226d94 100644 --- a/spring-boot-project/spring-boot-http-client-reactive/build.gradle +++ b/spring-boot-project/spring-boot-http-client-reactive/build.gradle @@ -24,6 +24,7 @@ dependencies { testImplementation(project(":spring-boot-project:spring-boot-test")) testImplementation(project(":spring-boot-project:spring-boot-tomcat")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) + testImplementation("io.micrometer:micrometer-observation-test") testRuntimeOnly("ch.qos.logback:logback-classic") } diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/client/ObservationWebClientCustomizer.java b/spring-boot-project/spring-boot-http-client-reactive/src/main/java/org/springframework/boot/http/client/reactive/web/actuate/observation/ObservationWebClientCustomizer.java similarity index 93% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/client/ObservationWebClientCustomizer.java rename to spring-boot-project/spring-boot-http-client-reactive/src/main/java/org/springframework/boot/http/client/reactive/web/actuate/observation/ObservationWebClientCustomizer.java index 647cf9be07..82e20da859 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/client/ObservationWebClientCustomizer.java +++ b/spring-boot-project/spring-boot-http-client-reactive/src/main/java/org/springframework/boot/http/client/reactive/web/actuate/observation/ObservationWebClientCustomizer.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.metrics.web.reactive.client; +package org.springframework.boot.http.client.reactive.web.actuate.observation; import io.micrometer.observation.ObservationRegistry; diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/client/package-info.java b/spring-boot-project/spring-boot-http-client-reactive/src/main/java/org/springframework/boot/http/client/reactive/web/actuate/observation/package-info.java similarity index 71% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/client/package-info.java rename to spring-boot-project/spring-boot-http-client-reactive/src/main/java/org/springframework/boot/http/client/reactive/web/actuate/observation/package-info.java index a8b12f94b5..ab1929d849 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/client/package-info.java +++ b/spring-boot-project/spring-boot-http-client-reactive/src/main/java/org/springframework/boot/http/client/reactive/web/actuate/observation/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2019 the original author or authors. + * Copyright 2012-2025 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. @@ -15,7 +15,6 @@ */ /** - * Actuator support for {@link org.springframework.web.reactive.function.client.WebClient} - * metrics. + * Observation integration for WebClient. */ -package org.springframework.boot.actuate.metrics.web.reactive.client; +package org.springframework.boot.http.client.reactive.web.actuate.observation; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/reactive/client/ObservationWebClientCustomizerTests.java b/spring-boot-project/spring-boot-http-client-reactive/src/test/java/org/springframework/boot/http/client/reactive/web/actuate/observation/ObservationWebClientCustomizerTests.java similarity index 93% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/reactive/client/ObservationWebClientCustomizerTests.java rename to spring-boot-project/spring-boot-http-client-reactive/src/test/java/org/springframework/boot/http/client/reactive/web/actuate/observation/ObservationWebClientCustomizerTests.java index 676d3d36e8..1bb4b9f35c 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/reactive/client/ObservationWebClientCustomizerTests.java +++ b/spring-boot-project/spring-boot-http-client-reactive/src/test/java/org/springframework/boot/http/client/reactive/web/actuate/observation/ObservationWebClientCustomizerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2023 the original author or authors. + * Copyright 2012-2025 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.metrics.web.reactive.client; +package org.springframework.boot.http.client.reactive.web.actuate.observation; import io.micrometer.observation.tck.TestObservationRegistry; import org.junit.jupiter.api.Test;