From 5d058c8c851f9d8f2dbe0562727adceeb0c20387 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Fri, 23 May 2025 11:44:13 -0700 Subject: [PATCH] Create Create spring-boot-zipkin module --- settings.gradle | 1 + .../build.gradle | 3 ++- ...itional-spring-configuration-metadata.json | 6 ------ ...ot.autoconfigure.AutoConfiguration.imports | 1 - .../zipkin/DefaultEncodingConfiguration.java | 1 + .../build.gradle | 1 + ...nectionDetailsFactoryIntegrationTests.java | 2 +- ...DockerComposeConnectionDetailsFactory.java | 2 +- .../build.gradle | 1 + ...nectionDetailsFactoryIntegrationTests.java | 4 ++-- ...pkinContainerConnectionDetailsFactory.java | 5 ++--- ...ontainerConnectionDetailsFactoryTests.java | 2 +- .../spring-boot-zipkin/build.gradle | 21 +++++++++++++++++++ .../zipkin/autoconfigure}/HttpSender.java | 2 +- .../PropertiesZipkinConnectionDetails.java | 2 +- .../ZipkinAutoConfiguration.java | 6 ++++-- .../ZipkinConnectionDetails.java | 2 +- .../ZipkinHttpClientBuilderCustomizer.java | 2 +- .../ZipkinHttpClientSender.java | 2 +- .../autoconfigure}/ZipkinProperties.java | 2 +- .../zipkin/autoconfigure/package-info.java | 20 ++++++++++++++++++ ...itional-spring-configuration-metadata.json | 12 +++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + .../TestHttpEndpointSupplier.java | 2 +- .../ZipkinAutoConfigurationTests.java | 2 +- .../ZipkinHttpClientSenderTests.java | 2 +- .../autoconfigure}/ZipkinHttpSenderTests.java | 2 +- 27 files changed, 81 insertions(+), 28 deletions(-) create mode 100644 spring-boot-project/spring-boot-zipkin/build.gradle rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure}/HttpSender.java (97%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure}/PropertiesZipkinConnectionDetails.java (93%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure}/ZipkinAutoConfiguration.java (95%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure}/ZipkinConnectionDetails.java (94%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure}/ZipkinHttpClientBuilderCustomizer.java (93%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure}/ZipkinHttpClientSender.java (96%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure}/ZipkinProperties.java (96%) create mode 100644 spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/package-info.java create mode 100644 spring-boot-project/spring-boot-zipkin/src/main/resources/META-INF/additional-spring-configuration-metadata.json create mode 100644 spring-boot-project/spring-boot-zipkin/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure}/TestHttpEndpointSupplier.java (94%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure}/ZipkinAutoConfigurationTests.java (98%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure}/ZipkinHttpClientSenderTests.java (98%) rename spring-boot-project/{spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin => spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure}/ZipkinHttpSenderTests.java (96%) diff --git a/settings.gradle b/settings.gradle index f4b592b958..7848b7dc5d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -157,6 +157,7 @@ include "spring-boot-project:spring-boot-webflux" include "spring-boot-project:spring-boot-webmvc" include "spring-boot-project:spring-boot-webservices" include "spring-boot-project:spring-boot-websocket" +include "spring-boot-project:spring-boot-zipkin" include "spring-boot-system-tests:spring-boot-deployment-tests" include "spring-boot-system-tests:spring-boot-image-tests" include "spring-boot-tests:spring-boot-integration-tests:spring-boot-configuration-processor-tests" 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 9697b6baaa..daae601fb0 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/build.gradle @@ -19,7 +19,7 @@ configurations.all { dependencies { api(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) api(project(":spring-boot-project:spring-boot-autoconfigure")) - + implementation(project(":spring-boot-project:spring-boot-metrics")) implementation(project(":spring-boot-project:spring-boot-security")) { exclude(group: "org.springframework.security") @@ -52,6 +52,7 @@ dependencies { optional(project(":spring-boot-project:spring-boot-webclient")) optional(project(":spring-boot-project:spring-boot-webflux")) optional(project(":spring-boot-project:spring-boot-webmvc")) + optional(project(":spring-boot-project:spring-boot-zipkin")) optional("ch.qos.logback:logback-classic") optional("org.apache.cassandra:java-driver-core") { exclude group: "org.slf4j", module: "jcl-over-slf4j" diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 9adcc8d3e6..2730d10f53 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -1842,12 +1842,6 @@ "W3C" ] }, - { - "name": "management.zipkin.tracing.encoding", - "defaultValue": [ - "JSON" - ] - }, { "name": "management.zipkin.tracing.export.enabled", "type": "java.lang.Boolean", 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 ebb414c4c9..2c6a91c38e 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 @@ -62,7 +62,6 @@ org.springframework.boot.actuate.autoconfigure.tracing.NoopTracerAutoConfigurati org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryTracingAutoConfiguration org.springframework.boot.actuate.autoconfigure.tracing.otlp.OtlpTracingAutoConfiguration org.springframework.boot.actuate.autoconfigure.tracing.prometheus.PrometheusExemplarsAutoConfiguration -org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinTracingAutoConfiguration org.springframework.boot.actuate.autoconfigure.web.exchanges.HttpExchangesAutoConfiguration org.springframework.boot.actuate.autoconfigure.web.exchanges.HttpExchangesEndpointAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/DefaultEncodingConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/DefaultEncodingConfiguration.java index a8c1f7e010..7427959f1e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/DefaultEncodingConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/DefaultEncodingConfiguration.java @@ -20,6 +20,7 @@ import zipkin2.reporter.Encoding; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.boot.zipkin.autoconfigure.ZipkinAutoConfiguration; import org.springframework.context.annotation.Bean; /** diff --git a/spring-boot-project/spring-boot-docker-compose-all/build.gradle b/spring-boot-project/spring-boot-docker-compose-all/build.gradle index 53de843213..b7e8527dce 100644 --- a/spring-boot-project/spring-boot-docker-compose-all/build.gradle +++ b/spring-boot-project/spring-boot-docker-compose-all/build.gradle @@ -52,6 +52,7 @@ dependencies { optional(project(":spring-boot-project:spring-boot-neo4j")) optional(project(":spring-boot-project:spring-boot-pulsar")) optional(project(":spring-boot-project:spring-boot-r2dbc")) + optional(project(":spring-boot-project:spring-boot-zipkin")) optional("com.hazelcast:hazelcast") optional("org.mongodb:mongodb-driver-core") optional("org.neo4j.driver:neo4j-java-driver") diff --git a/spring-boot-project/spring-boot-docker-compose-all/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/zipkin/ZipkinDockerComposeConnectionDetailsFactoryIntegrationTests.java b/spring-boot-project/spring-boot-docker-compose-all/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/zipkin/ZipkinDockerComposeConnectionDetailsFactoryIntegrationTests.java index 1c8540cffd..543abdbb99 100644 --- a/spring-boot-project/spring-boot-docker-compose-all/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/zipkin/ZipkinDockerComposeConnectionDetailsFactoryIntegrationTests.java +++ b/spring-boot-project/spring-boot-docker-compose-all/src/dockerTest/java/org/springframework/boot/docker/compose/service/connection/zipkin/ZipkinDockerComposeConnectionDetailsFactoryIntegrationTests.java @@ -16,9 +16,9 @@ package org.springframework.boot.docker.compose.service.connection.zipkin; -import org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinConnectionDetails; import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest; import org.springframework.boot.testsupport.container.TestImage; +import org.springframework.boot.zipkin.autoconfigure.ZipkinConnectionDetails; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/zipkin/ZipkinDockerComposeConnectionDetailsFactory.java b/spring-boot-project/spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/zipkin/ZipkinDockerComposeConnectionDetailsFactory.java index 43a8d25bef..3d389f5df4 100644 --- a/spring-boot-project/spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/zipkin/ZipkinDockerComposeConnectionDetailsFactory.java +++ b/spring-boot-project/spring-boot-docker-compose-all/src/main/java/org/springframework/boot/docker/compose/service/connection/zipkin/ZipkinDockerComposeConnectionDetailsFactory.java @@ -16,10 +16,10 @@ package org.springframework.boot.docker.compose.service.connection.zipkin; -import org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinConnectionDetails; import org.springframework.boot.docker.compose.core.RunningService; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionDetailsFactory; import org.springframework.boot.docker.compose.service.connection.DockerComposeConnectionSource; +import org.springframework.boot.zipkin.autoconfigure.ZipkinConnectionDetails; /** * {@link DockerComposeConnectionDetailsFactory} to create {@link ZipkinConnectionDetails} diff --git a/spring-boot-project/spring-boot-testcontainers-all/build.gradle b/spring-boot-project/spring-boot-testcontainers-all/build.gradle index 9919d5f2ea..e1ba1b77ca 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/build.gradle +++ b/spring-boot-project/spring-boot-testcontainers-all/build.gradle @@ -28,6 +28,7 @@ dependencies { optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure-all")) optional(project(":spring-boot-project:spring-boot-tx")) + optional(project(":spring-boot-project:spring-boot-zipkin")) optional("org.springframework:spring-test") optional("org.testcontainers:grafana") diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactoryIntegrationTests.java b/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactoryIntegrationTests.java index 3331bec31b..7e37585e84 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactoryIntegrationTests.java +++ b/spring-boot-project/spring-boot-testcontainers-all/src/dockerTest/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactoryIntegrationTests.java @@ -22,12 +22,12 @@ import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration; -import org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinConnectionDetails; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.springframework.boot.testsupport.container.TestImage; import org.springframework.boot.testsupport.container.ZipkinContainer; +import org.springframework.boot.zipkin.autoconfigure.ZipkinAutoConfiguration; +import org.springframework.boot.zipkin.autoconfigure.ZipkinConnectionDetails; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactory.java b/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactory.java index 35a295b37c..2e70c7d403 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactory.java +++ b/spring-boot-project/spring-boot-testcontainers-all/src/main/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactory.java @@ -19,10 +19,10 @@ package org.springframework.boot.testcontainers.service.connection.zipkin; import org.testcontainers.containers.Container; import org.testcontainers.containers.GenericContainer; -import org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinConnectionDetails; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; +import org.springframework.boot.zipkin.autoconfigure.ZipkinConnectionDetails; /** * {@link ContainerConnectionDetailsFactory} to create {@link ZipkinConnectionDetails} @@ -38,8 +38,7 @@ class ZipkinContainerConnectionDetailsFactory private static final int ZIPKIN_PORT = 9411; ZipkinContainerConnectionDetailsFactory() { - super("openzipkin/zipkin", - "org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration"); + super("openzipkin/zipkin", "org.springframework.boot.zipkin.autoconfigure.ZipkinAutoConfiguration"); } @Override diff --git a/spring-boot-project/spring-boot-testcontainers-all/src/test/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactoryTests.java b/spring-boot-project/spring-boot-testcontainers-all/src/test/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactoryTests.java index bb27e8af96..f8bbcfa92c 100644 --- a/spring-boot-project/spring-boot-testcontainers-all/src/test/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactoryTests.java +++ b/spring-boot-project/spring-boot-testcontainers-all/src/test/java/org/springframework/boot/testcontainers/service/connection/zipkin/ZipkinContainerConnectionDetailsFactoryTests.java @@ -20,8 +20,8 @@ import org.junit.jupiter.api.Test; import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.predicate.RuntimeHintsPredicates; -import org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration; import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactoryHints; +import org.springframework.boot.zipkin.autoconfigure.ZipkinAutoConfiguration; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-zipkin/build.gradle b/spring-boot-project/spring-boot-zipkin/build.gradle new file mode 100644 index 0000000000..f583b6fa78 --- /dev/null +++ b/spring-boot-project/spring-boot-zipkin/build.gradle @@ -0,0 +1,21 @@ +plugins { + id "java-library" + id "org.springframework.boot.auto-configuration" + id "org.springframework.boot.configuration-properties" + id "org.springframework.boot.deployed" + id "org.springframework.boot.optional-dependencies" +} + +description = "Spring Boot Zipkin" + +dependencies { + api(project(":spring-boot-project:spring-boot")) + api("io.zipkin.reporter2:zipkin-reporter-brave") + + optional(project(":spring-boot-project:spring-boot-autoconfigure")) + optional("io.zipkin.reporter2:zipkin-reporter-brave") + + testImplementation(project(":spring-boot-project:spring-boot-test")) + testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) + testImplementation("com.squareup.okhttp3:mockwebserver") +} diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/HttpSender.java b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/HttpSender.java similarity index 97% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/HttpSender.java rename to spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/HttpSender.java index f15e291d2a..3db26cb97c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/HttpSender.java +++ b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/HttpSender.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; import java.io.ByteArrayOutputStream; import java.io.IOException; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/PropertiesZipkinConnectionDetails.java b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/PropertiesZipkinConnectionDetails.java similarity index 93% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/PropertiesZipkinConnectionDetails.java rename to spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/PropertiesZipkinConnectionDetails.java index 0ded74c786..f770b8f675 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/PropertiesZipkinConnectionDetails.java +++ b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/PropertiesZipkinConnectionDetails.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; /** * Adapts {@link ZipkinProperties} to {@link ZipkinConnectionDetails}. diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinAutoConfiguration.java b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinAutoConfiguration.java similarity index 95% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinAutoConfiguration.java rename to spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinAutoConfiguration.java index 08139faeca..860a67b48c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinAutoConfiguration.java +++ b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; import java.net.http.HttpClient; import java.net.http.HttpClient.Builder; @@ -25,6 +25,7 @@ import zipkin2.reporter.HttpEndpointSupplier; import zipkin2.reporter.HttpEndpointSuppliers; import org.springframework.beans.factory.ObjectProvider; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -38,8 +39,9 @@ import org.springframework.context.annotation.Bean; * @author Moritz Halbritter * @author Stefan Bratanov * @author Wick Dynex - * @since 3.0.0 + * @since 4.0.0 */ +@AutoConfiguration @ConditionalOnClass(Encoding.class) @EnableConfigurationProperties(ZipkinProperties.class) public class ZipkinAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConnectionDetails.java b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinConnectionDetails.java similarity index 94% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConnectionDetails.java rename to spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinConnectionDetails.java index c00a73eaf1..6512056c6f 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinConnectionDetails.java +++ b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinConnectionDetails.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; import zipkin2.reporter.HttpEndpointSupplier.Factory; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientBuilderCustomizer.java b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpClientBuilderCustomizer.java similarity index 93% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientBuilderCustomizer.java rename to spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpClientBuilderCustomizer.java index 079e42b7b1..5a85669abb 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientBuilderCustomizer.java +++ b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpClientBuilderCustomizer.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; import java.net.http.HttpClient.Builder; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientSender.java b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpClientSender.java similarity index 96% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientSender.java rename to spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpClientSender.java index 148b100f8a..20b0cefc2c 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientSender.java +++ b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpClientSender.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; import java.io.IOException; import java.net.URI; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinProperties.java b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinProperties.java similarity index 96% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinProperties.java rename to spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinProperties.java index e5c8c4ab62..d3af25c0f8 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinProperties.java +++ b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/ZipkinProperties.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; import java.time.Duration; diff --git a/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/package-info.java b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/package-info.java new file mode 100644 index 0000000000..c807870f8c --- /dev/null +++ b/spring-boot-project/spring-boot-zipkin/src/main/java/org/springframework/boot/zipkin/autoconfigure/package-info.java @@ -0,0 +1,20 @@ +/* + * 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Auto-configuration for Zipkin. + */ +package org.springframework.boot.zipkin.autoconfigure; diff --git a/spring-boot-project/spring-boot-zipkin/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-boot-project/spring-boot-zipkin/src/main/resources/META-INF/additional-spring-configuration-metadata.json new file mode 100644 index 0000000000..bb197d579a --- /dev/null +++ b/spring-boot-project/spring-boot-zipkin/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -0,0 +1,12 @@ +{ + "groups": [], + "properties": [ + { + "name": "management.zipkin.tracing.encoding", + "defaultValue": [ + "JSON" + ] + } + ], + "hints": [] +} diff --git a/spring-boot-project/spring-boot-zipkin/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-zipkin/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000000..e540382114 --- /dev/null +++ b/spring-boot-project/spring-boot-zipkin/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +org.springframework.boot.zipkin.autoconfigure.ZipkinAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/TestHttpEndpointSupplier.java b/spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/TestHttpEndpointSupplier.java similarity index 94% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/TestHttpEndpointSupplier.java rename to spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/TestHttpEndpointSupplier.java index fdac2bc7d8..29fac9d46e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/TestHttpEndpointSupplier.java +++ b/spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/TestHttpEndpointSupplier.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; import java.util.concurrent.atomic.AtomicInteger; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinAutoConfigurationTests.java b/spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/ZipkinAutoConfigurationTests.java similarity index 98% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinAutoConfigurationTests.java rename to spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/ZipkinAutoConfigurationTests.java index 87877c8634..7820ae87c0 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/ZipkinAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; import java.net.http.HttpClient; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientSenderTests.java b/spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpClientSenderTests.java similarity index 98% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientSenderTests.java rename to spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpClientSenderTests.java index 11298af56f..c13596a72f 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpClientSenderTests.java +++ b/spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpClientSenderTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; import java.io.IOException; import java.net.http.HttpClient; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpSenderTests.java b/spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpSenderTests.java similarity index 96% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpSenderTests.java rename to spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpSenderTests.java index 6097d7d4d9..a420bae088 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/tracing/zipkin/ZipkinHttpSenderTests.java +++ b/spring-boot-project/spring-boot-zipkin/src/test/java/org/springframework/boot/zipkin/autoconfigure/ZipkinHttpSenderTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.tracing.zipkin; +package org.springframework.boot.zipkin.autoconfigure; import java.io.IOException; import java.nio.charset.StandardCharsets;