From 0497cd48ad8697eb821b5e69975ea720cc2d6c8e Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 9 May 2025 16:05:41 +0100 Subject: [PATCH] Move code from spring-boot-actuator to spring-boot-integration See gh-46098 --- .../IntegrationGraphEndpointAutoConfiguration.java | 4 ++-- .../IntegrationGraphEndpointAutoConfigurationTests.java | 2 +- .../IntegrationGraphEndpointDocumentationTests.java | 2 +- spring-boot-project/spring-boot-actuator/build.gradle | 1 - spring-boot-project/spring-boot-integration/build.gradle | 3 +++ .../actuate/endpoint}/IntegrationGraphEndpoint.java | 4 ++-- .../boot/integration/actuate/endpoint}/package-info.java | 4 ++-- .../actuate/integration/IntegrationGraphEndpointTests.java | 3 ++- .../IntegrationGraphEndpointWebIntegrationTests.java | 1 + 9 files changed, 14 insertions(+), 10 deletions(-) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate/integration => spring-boot-integration/src/main/java/org/springframework/boot/integration/actuate/endpoint}/IntegrationGraphEndpoint.java (97%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate/integration => spring-boot-integration/src/main/java/org/springframework/boot/integration/actuate/endpoint}/package-info.java (85%) rename spring-boot-project/{spring-boot-actuator => spring-boot-integration}/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointTests.java (92%) rename spring-boot-project/{spring-boot-actuator => spring-boot-integration}/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointWebIntegrationTests.java (96%) diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfiguration.java index 3fe7bb5f6db..3a228a1c4b4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfiguration.java @@ -17,12 +17,12 @@ package org.springframework.boot.actuate.autoconfigure.integration; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; -import org.springframework.boot.actuate.integration.IntegrationGraphEndpoint; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.integration.actuate.endpoint.IntegrationGraphEndpoint; import org.springframework.context.annotation.Bean; import org.springframework.integration.config.IntegrationConfigurationBeanFactoryPostProcessor; import org.springframework.integration.graph.IntegrationGraphServer; @@ -36,7 +36,7 @@ import org.springframework.integration.graph.IntegrationGraphServer; * @since 2.1.0 */ @AutoConfiguration(afterName = "org.springframework.boot.integration.autoconfigure.IntegrationAutoConfiguration") -@ConditionalOnClass(IntegrationGraphServer.class) +@ConditionalOnClass({ IntegrationGraphServer.class, IntegrationGraphEndpoint.class }) @ConditionalOnBean(IntegrationConfigurationBeanFactoryPostProcessor.class) @ConditionalOnAvailableEndpoint(IntegrationGraphEndpoint.class) public class IntegrationGraphEndpointAutoConfiguration { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfigurationTests.java index fcb01e68991..103d5ba6414 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfigurationTests.java @@ -18,9 +18,9 @@ package org.springframework.boot.actuate.autoconfigure.integration; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.integration.IntegrationGraphEndpoint; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration; +import org.springframework.boot.integration.actuate.endpoint.IntegrationGraphEndpoint; import org.springframework.boot.integration.autoconfigure.IntegrationAutoConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.integration.graph.IntegrationGraphServer; diff --git a/spring-boot-project/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/integration/IntegrationGraphEndpointDocumentationTests.java b/spring-boot-project/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/integration/IntegrationGraphEndpointDocumentationTests.java index f232218f6d2..502cae25bfc 100644 --- a/spring-boot-project/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/integration/IntegrationGraphEndpointDocumentationTests.java +++ b/spring-boot-project/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/integration/IntegrationGraphEndpointDocumentationTests.java @@ -19,7 +19,7 @@ package org.springframework.boot.actuate.docs.integration; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.docs.MockMvcEndpointDocumentationTests; -import org.springframework.boot.actuate.integration.IntegrationGraphEndpoint; +import org.springframework.boot.integration.actuate.endpoint.IntegrationGraphEndpoint; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; diff --git a/spring-boot-project/spring-boot-actuator/build.gradle b/spring-boot-project/spring-boot-actuator/build.gradle index 8df8e50bda5..78a15236b81 100644 --- a/spring-boot-project/spring-boot-actuator/build.gradle +++ b/spring-boot-project/spring-boot-actuator/build.gradle @@ -42,7 +42,6 @@ dependencies { optional(project(":spring-boot-project:spring-boot-activemq")) optional(project(":spring-boot-project:spring-boot-flyway")) optional(project(":spring-boot-project:spring-boot-http-converter")) - optional(project(":spring-boot-project:spring-boot-integration")) optional(project(":spring-boot-project:spring-boot-jdbc")) optional(project(":spring-boot-project:spring-boot-jetty")) optional(project(":spring-boot-project:spring-boot-jsonb")) diff --git a/spring-boot-project/spring-boot-integration/build.gradle b/spring-boot-project/spring-boot-integration/build.gradle index 62ff80e35bc..1537198fcd3 100644 --- a/spring-boot-project/spring-boot-integration/build.gradle +++ b/spring-boot-project/spring-boot-integration/build.gradle @@ -31,6 +31,7 @@ dependencies { implementation(project(":spring-boot-project:spring-boot-sql")) + optional(project(":spring-boot-project:spring-boot-actuator")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) optional(project(":spring-boot-project:spring-boot-jdbc")) optional(project(":spring-boot-project:spring-boot-rsocket")) @@ -42,6 +43,8 @@ dependencies { testImplementation(project(":spring-boot-project:spring-boot-rsocket")) testImplementation(project(":spring-boot-project:spring-boot-test")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) + testImplementation(testFixtures(project(":spring-boot-project:spring-boot-actuator"))) + testImplementation("org.springframework:spring-web") testRuntimeOnly(project(":spring-boot-project:spring-boot-reactor-netty")) testRuntimeOnly("ch.qos.logback:logback-classic") diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpoint.java b/spring-boot-project/spring-boot-integration/src/main/java/org/springframework/boot/integration/actuate/endpoint/IntegrationGraphEndpoint.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpoint.java rename to spring-boot-project/spring-boot-integration/src/main/java/org/springframework/boot/integration/actuate/endpoint/IntegrationGraphEndpoint.java index 13ec3271dbc..556cf0d432e 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpoint.java +++ b/spring-boot-project/spring-boot-integration/src/main/java/org/springframework/boot/integration/actuate/endpoint/IntegrationGraphEndpoint.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.integration; +package org.springframework.boot.integration.actuate.endpoint; import java.util.Collection; import java.util.Map; @@ -32,7 +32,7 @@ import org.springframework.integration.graph.LinkNode; * {@link Endpoint @Endpoint} to expose the Spring Integration graph. * * @author Tim Ysewyn - * @since 2.1.0 + * @since 4.0.0 */ @Endpoint(id = "integrationgraph") public class IntegrationGraphEndpoint { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/integration/package-info.java b/spring-boot-project/spring-boot-integration/src/main/java/org/springframework/boot/integration/actuate/endpoint/package-info.java similarity index 85% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/integration/package-info.java rename to spring-boot-project/spring-boot-integration/src/main/java/org/springframework/boot/integration/actuate/endpoint/package-info.java index 3dbfcbdc026..bec5c8a51e6 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/integration/package-info.java +++ b/spring-boot-project/spring-boot-integration/src/main/java/org/springframework/boot/integration/actuate/endpoint/package-info.java @@ -15,6 +15,6 @@ */ /** - * Actuator support for Spring Integration. + * Actuator endpoint for Spring Integration. */ -package org.springframework.boot.actuate.integration; +package org.springframework.boot.integration.actuate.endpoint; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointTests.java b/spring-boot-project/spring-boot-integration/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointTests.java similarity index 92% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointTests.java rename to spring-boot-project/spring-boot-integration/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointTests.java index c53a112822b..c7824e4cac9 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointTests.java +++ b/spring-boot-project/spring-boot-integration/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointTests.java @@ -23,7 +23,8 @@ import java.util.Map; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.integration.IntegrationGraphEndpoint.GraphDescriptor; +import org.springframework.boot.integration.actuate.endpoint.IntegrationGraphEndpoint; +import org.springframework.boot.integration.actuate.endpoint.IntegrationGraphEndpoint.GraphDescriptor; import org.springframework.integration.graph.Graph; import org.springframework.integration.graph.IntegrationGraphServer; import org.springframework.integration.graph.IntegrationNode; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointWebIntegrationTests.java b/spring-boot-project/spring-boot-integration/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointWebIntegrationTests.java similarity index 96% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointWebIntegrationTests.java rename to spring-boot-project/spring-boot-integration/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointWebIntegrationTests.java index 263bd242baa..95850121a22 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointWebIntegrationTests.java +++ b/spring-boot-project/spring-boot-integration/src/test/java/org/springframework/boot/actuate/integration/IntegrationGraphEndpointWebIntegrationTests.java @@ -17,6 +17,7 @@ package org.springframework.boot.actuate.integration; import org.springframework.boot.actuate.endpoint.web.test.WebEndpointTest; +import org.springframework.boot.integration.actuate.endpoint.IntegrationGraphEndpoint; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType;