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 cec87eebdc..119f093c8e 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 @@ -59,12 +59,6 @@ "description": "Whether to enable InfluxDB health check.", "defaultValue": true }, - { - "name": "management.health.jms.enabled", - "type": "java.lang.Boolean", - "description": "Whether to enable JMS health check.", - "defaultValue": true - }, { "name": "management.health.ldap.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 8832614eec..89b3080275 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 @@ -16,7 +16,6 @@ org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointA org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.integration.IntegrationGraphEndpointAutoConfiguration -org.springframework.boot.actuate.autoconfigure.jms.JmsHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.ldap.LdapHealthContributorAutoConfiguration org.springframework.boot.actuate.autoconfigure.liquibase.LiquibaseEndpointAutoConfiguration org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointAutoConfiguration diff --git a/spring-boot-project/spring-boot-jms/build.gradle b/spring-boot-project/spring-boot-jms/build.gradle index c068b5c254..11f8eba8f6 100644 --- a/spring-boot-project/spring-boot-jms/build.gradle +++ b/spring-boot-project/spring-boot-jms/build.gradle @@ -16,7 +16,7 @@ dependencies { compileOnly("com.fasterxml.jackson.core:jackson-annotations") - optional(project(":spring-boot-project:spring-boot-actuator")) + optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) optional("jakarta.transaction:jakarta.transaction-api") optional("org.messaginghub:pooled-jms") { diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/autoconfigure/JmsHealthContributorAutoConfiguration.java similarity index 90% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java rename to spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/autoconfigure/JmsHealthContributorAutoConfiguration.java index b26d314f21..1c117b721f 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/autoconfigure/JmsHealthContributorAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.jms; +package org.springframework.boot.jms.actuate.health.autoconfigure; import jakarta.jms.ConnectionFactory; @@ -28,6 +28,7 @@ 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.jms.actuate.health.JmsHealthIndicator; +import org.springframework.boot.jms.autoconfigure.JmsAutoConfiguration; import org.springframework.context.annotation.Bean; /** @@ -36,8 +37,7 @@ import org.springframework.context.annotation.Bean; * @author Stephane Nicoll * @since 2.0.0 */ -@AutoConfiguration(afterName = { "org.springframework.boot.activemq.autoconfigure.ActiveMQAutoConfiguration", - "org.springframework.boot.artemis.autoconfigure.ArtemisAutoConfiguration" }) +@AutoConfiguration(after = JmsAutoConfiguration.class) @ConditionalOnClass({ ConnectionFactory.class, JmsHealthIndicator.class }) @ConditionalOnBean(ConnectionFactory.class) @ConditionalOnEnabledHealthIndicator("jms") diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/package-info.java b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/autoconfigure/package-info.java similarity index 84% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/package-info.java rename to spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/autoconfigure/package-info.java index 0ee9b7f560..0330415aa3 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/package-info.java +++ b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/autoconfigure/package-info.java @@ -15,6 +15,6 @@ */ /** - * Auto-configuration for actuator JMS concerns. + * Auto-configuration for JMS health integration. */ -package org.springframework.boot.actuate.autoconfigure.jms; +package org.springframework.boot.jms.actuate.health.autoconfigure; diff --git a/spring-boot-project/spring-boot-jms/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-boot-project/spring-boot-jms/src/main/resources/META-INF/additional-spring-configuration-metadata.json index b5640fe38b..21965dab2b 100644 --- a/spring-boot-project/spring-boot-jms/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-boot-project/spring-boot-jms/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -1,6 +1,13 @@ { "groups": [], - "properties": [], + "properties": [ + { + "name": "management.health.jms.enabled", + "type": "java.lang.Boolean", + "description": "Whether to enable JMS health check.", + "defaultValue": true + } + ], "hints": [ { "name": "spring.jms.listener.session.acknowledge-mode", diff --git a/spring-boot-project/spring-boot-jms/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring-boot-project/spring-boot-jms/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 0070f989ad..ba5c1ffdf4 100644 --- a/spring-boot-project/spring-boot-jms/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/spring-boot-project/spring-boot-jms/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,2 +1,3 @@ +org.springframework.boot.jms.actuate.health.autoconfigure.JmsHealthContributorAutoConfiguration org.springframework.boot.jms.autoconfigure.JmsAutoConfiguration org.springframework.boot.jms.autoconfigure.JndiConnectionFactoryAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/actuate/health/autoconfigure/JmsHealthContributorAutoConfigurationTests.java similarity index 82% rename from spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfigurationTests.java rename to spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/actuate/health/autoconfigure/JmsHealthContributorAutoConfigurationTests.java index 68bffc18ca..55e50f4ec2 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure-all/src/test/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/actuate/health/autoconfigure/JmsHealthContributorAutoConfigurationTests.java @@ -14,17 +14,18 @@ * limitations under the License. */ -package org.springframework.boot.actuate.autoconfigure.jms; +package org.springframework.boot.jms.actuate.health.autoconfigure; +import jakarta.jms.ConnectionFactory; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; -import org.springframework.boot.artemis.autoconfigure.ArtemisAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.jms.actuate.health.JmsHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; /** * Tests for {@link JmsHealthContributorAutoConfiguration}. @@ -34,8 +35,9 @@ import static org.assertj.core.api.Assertions.assertThat; class JmsHealthContributorAutoConfigurationTests { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(ArtemisAutoConfiguration.class, - JmsHealthContributorAutoConfiguration.class, HealthContributorAutoConfiguration.class)); + .withConfiguration(AutoConfigurations.of(JmsHealthContributorAutoConfiguration.class, + HealthContributorAutoConfiguration.class)) + .withBean(ConnectionFactory.class, () -> mock(ConnectionFactory.class)); @Test void runShouldCreateIndicator() {