diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java index 4da5efbe395..e36bb64b55e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java @@ -22,12 +22,12 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.health.HealthContributor; -import org.springframework.boot.actuate.jms.JmsHealthIndicator; 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.jms.actuate.health.JmsHealthIndicator; import org.springframework.context.annotation.Bean; /** @@ -38,7 +38,7 @@ import org.springframework.context.annotation.Bean; */ @AutoConfiguration(afterName = { "org.springframework.boot.activemq.autoconfigure.ActiveMQAutoConfiguration", "org.springframework.boot.artemis.autoconfigure.ArtemisAutoConfiguration" }) -@ConditionalOnClass(ConnectionFactory.class) +@ConditionalOnClass({ ConnectionFactory.class, JmsHealthIndicator.class }) @ConditionalOnBean(ConnectionFactory.class) @ConditionalOnEnabledHealthIndicator("jms") public class JmsHealthContributorAutoConfiguration diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfigurationTests.java index edb2745b029..19169a6b622 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfigurationTests.java @@ -19,9 +19,9 @@ package org.springframework.boot.actuate.autoconfigure.jms; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; -import org.springframework.boot.actuate.jms.JmsHealthIndicator; 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; diff --git a/spring-boot-project/spring-boot-actuator/build.gradle b/spring-boot-project/spring-boot-actuator/build.gradle index e460fe0964d..a93493ab130 100644 --- a/spring-boot-project/spring-boot-actuator/build.gradle +++ b/spring-boot-project/spring-boot-actuator/build.gradle @@ -39,7 +39,6 @@ dependencies { dockerTestImplementation("org.testcontainers:neo4j") dockerTestImplementation("org.testcontainers:testcontainers") - optional(project(":spring-boot-project:spring-boot-activemq")) optional(project(":spring-boot-project:spring-boot-http-converter")) optional(project(":spring-boot-project:spring-boot-jdbc")) optional(project(":spring-boot-project:spring-boot-jetty")) diff --git a/spring-boot-project/spring-boot-jms/build.gradle b/spring-boot-project/spring-boot-jms/build.gradle index 67b507ee574..a4b95f1657b 100644 --- a/spring-boot-project/spring-boot-jms/build.gradle +++ b/spring-boot-project/spring-boot-jms/build.gradle @@ -31,6 +31,9 @@ dependencies { api("jakarta.jms:jakarta.jms-api") api("org.springframework:spring-jms") + compileOnly("com.fasterxml.jackson.core:jackson-annotations") + + optional(project(":spring-boot-project:spring-boot-actuator")) optional(project(":spring-boot-project:spring-boot-autoconfigure")) optional("jakarta.transaction:jakarta.transaction-api") optional("org.messaginghub:pooled-jms") { @@ -38,6 +41,7 @@ dependencies { } optional("org.springframework:spring-jdbc") + testCompileOnly("com.fasterxml.jackson.core:jackson-annotations") 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-autoconfigure"))) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/jms/JmsHealthIndicator.java b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicator.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/jms/JmsHealthIndicator.java rename to spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicator.java index b968e9d7d40..d42933fda3d 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/jms/JmsHealthIndicator.java +++ b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.jms; +package org.springframework.boot.jms.actuate.health; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -33,7 +33,7 @@ import org.springframework.boot.actuate.health.HealthIndicator; * {@link HealthIndicator} for a JMS {@link ConnectionFactory}. * * @author Stephane Nicoll - * @since 2.0.0 + * @since 4.0.0 */ public class JmsHealthIndicator extends AbstractHealthIndicator { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/jms/package-info.java b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/package-info.java similarity index 88% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/jms/package-info.java rename to spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/package-info.java index 74f61703a31..f66fb1275e2 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/jms/package-info.java +++ b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/package-info.java @@ -15,6 +15,6 @@ */ /** - * Actuator support for JMS. + * Health integration for JMS. */ -package org.springframework.boot.actuate.jms; +package org.springframework.boot.jms.actuate.health; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/jms/JmsHealthIndicatorTests.java b/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicatorTests.java similarity index 99% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/jms/JmsHealthIndicatorTests.java rename to spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicatorTests.java index be3f9a5b341..c5e143776f3 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/jms/JmsHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.jms; +package org.springframework.boot.jms.actuate.health; import jakarta.jms.Connection; import jakarta.jms.ConnectionFactory;