From 987d7d780f31da18092439d135987de3d2313c55 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 29 May 2025 13:23:26 +0100 Subject: [PATCH] Move Jersey metrics to spring-boot-jersey --- .../spring-boot-actuator-autoconfigure-all/build.gradle | 1 - ...framework.boot.autoconfigure.AutoConfiguration.imports | 3 +-- spring-boot-project/spring-boot-jersey/build.gradle | 3 +++ .../metrics}/JerseyServerMetricsAutoConfiguration.java | 8 ++++---- .../boot/jersey/autoconfigure/metrics}/package-info.java | 2 +- ...framework.boot.autoconfigure.AutoConfiguration.imports | 1 + .../JerseyServerMetricsAutoConfigurationTests.java | 5 ++--- 7 files changed, 12 insertions(+), 11 deletions(-) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey => spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics}/JerseyServerMetricsAutoConfiguration.java (93%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey => spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics}/package-info.java (90%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey => spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/metrics}/JerseyServerMetricsAutoConfigurationTests.java (96%) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle index 05d5f1c2b0..9ba6179ead 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle @@ -91,7 +91,6 @@ dependencies { } optional("org.glassfish.jersey.core:jersey-server") optional("org.glassfish.jersey.containers:jersey-container-servlet-core") - optional("org.glassfish.jersey.ext:jersey-micrometer") optional("org.hibernate.orm:hibernate-core") optional("org.hibernate.orm:hibernate-micrometer") optional("org.hibernate.validator:hibernate-validator") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index df4c825693..81be0636c2 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -14,7 +14,6 @@ org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfig org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.metrics.data.RepositoryMetricsAutoConfiguration -org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration org.springframework.boot.actuate.autoconfigure.observability.ObservabilityAutoConfiguration org.springframework.boot.actuate.autoconfigure.observation.batch.BatchObservationAutoConfiguration @@ -43,4 +42,4 @@ org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinTracingAutoC org.springframework.boot.actuate.autoconfigure.web.exchanges.HttpExchangesAutoConfiguration org.springframework.boot.actuate.autoconfigure.web.exchanges.HttpExchangesEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.web.mappings.MappingsEndpointAutoConfiguration -org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration \ No newline at end of file +org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration diff --git a/spring-boot-project/spring-boot-jersey/build.gradle b/spring-boot-project/spring-boot-jersey/build.gradle index da88e465d1..d81272eded 100644 --- a/spring-boot-project/spring-boot-jersey/build.gradle +++ b/spring-boot-project/spring-boot-jersey/build.gradle @@ -23,7 +23,10 @@ dependencies { optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) optional(project(":spring-boot-project:spring-boot-jackson")) + optional(project(":spring-boot-project:spring-boot-metrics")) + optional(project(":spring-boot-project:spring-boot-micrometer-observation")) optional("io.projectreactor:reactor-core") + optional("org.glassfish.jersey.ext:jersey-micrometer") testFixturesApi(testFixtures(project(":spring-boot-project:spring-boot-actuator"))) testFixturesImplementation(project(":spring-boot-project:spring-boot-tomcat")) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/JerseyServerMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics/JerseyServerMetricsAutoConfiguration.java similarity index 93% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/JerseyServerMetricsAutoConfiguration.java rename to spring-boot-project/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics/JerseyServerMetricsAutoConfiguration.java index 39957888a1..fccfde1282 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/JerseyServerMetricsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics/JerseyServerMetricsAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.jersey; +package org.springframework.boot.jersey.autoconfigure.metrics; import io.micrometer.core.instrument.config.MeterFilter; import io.micrometer.observation.ObservationRegistry; @@ -32,7 +32,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.boot.jersey.autoconfigure.ResourceConfigCustomizer; import org.springframework.boot.metrics.OnlyOnceLoggingDenyMeterFilter; import org.springframework.boot.metrics.autoconfigure.MetricsProperties; -import org.springframework.boot.micrometer.observation.autoconfigure.ObservationAutoConfiguration; import org.springframework.boot.micrometer.observation.autoconfigure.ObservationProperties; import org.springframework.context.annotation.Bean; import org.springframework.core.annotation.Order; @@ -44,9 +43,10 @@ import org.springframework.core.annotation.Order; * @author Michael Simons * @author Andy Wilkinson * @author Moritz Halbritter - * @since 2.1.0 + * @since 4.0.0 */ -@AutoConfiguration(after = { ObservationAutoConfiguration.class }) +@AutoConfiguration( + afterName = "org.springframework.boot.micrometer.observation.autoconfigure.ObservationAutoConfiguration") @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) @ConditionalOnClass({ ResourceConfig.class, ObservationApplicationEventListener.class }) @ConditionalOnBean({ ResourceConfig.class, ObservationRegistry.class }) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/package-info.java b/spring-boot-project/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics/package-info.java similarity index 90% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/package-info.java rename to spring-boot-project/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics/package-info.java index e0a64dd3e2..9f049956e3 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/package-info.java +++ b/spring-boot-project/spring-boot-jersey/src/main/java/org/springframework/boot/jersey/autoconfigure/metrics/package-info.java @@ -17,4 +17,4 @@ /** * Auto-configuration for Jersey actuator metrics. */ -package org.springframework.boot.actuate.autoconfigure.metrics.jersey; +package org.springframework.boot.jersey.autoconfigure.metrics; diff --git a/spring-boot-project/spring-boot-jersey/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-jersey/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 754936f4aa..339b6c5a6a 100644 --- a/spring-boot-project/spring-boot-jersey/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-jersey/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,2 +1,3 @@ org.springframework.boot.jersey.actuate.autoconfigure.health.HealthEndpointJerseyExtensionAutoConfiguration org.springframework.boot.jersey.autoconfigure.JerseyAutoConfiguration +org.springframework.boot.jersey.autoconfigure.metrics.JerseyServerMetricsAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/JerseyServerMetricsAutoConfigurationTests.java b/spring-boot-project/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/metrics/JerseyServerMetricsAutoConfigurationTests.java similarity index 96% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/JerseyServerMetricsAutoConfigurationTests.java rename to spring-boot-project/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/metrics/JerseyServerMetricsAutoConfigurationTests.java index ad1c5e4d7d..fcfdc58d75 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/JerseyServerMetricsAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/metrics/JerseyServerMetricsAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.metrics.jersey; +package org.springframework.boot.jersey.autoconfigure.metrics; import java.net.URI; @@ -30,7 +30,6 @@ import org.glassfish.jersey.micrometer.server.ObservationApplicationEventListene import org.glassfish.jersey.server.ResourceConfig; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.jersey.autoconfigure.JerseyAutoConfiguration; import org.springframework.boot.jersey.autoconfigure.ResourceConfigCustomizer; @@ -58,7 +57,7 @@ import static org.assertj.core.api.Assertions.assertThat; */ class JerseyServerMetricsAutoConfigurationTests { - private final ApplicationContextRunner contextRunner = new ApplicationContextRunner().with(MetricsRun.simple()) + private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(JerseyServerMetricsAutoConfiguration.class)); private final WebApplicationContextRunner webContextRunner = new WebApplicationContextRunner(