diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfiguration.java
index 1017f64406..6ed0a89826 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfiguration.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfiguration.java
@@ -18,10 +18,10 @@ package org.springframework.boot.actuate.autoconfigure.amqp;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
-import org.springframework.boot.actuate.amqp.RabbitHealthIndicator;
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.amqp.actuate.health.RabbitHealthIndicator;
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -37,7 +37,7 @@ import org.springframework.context.annotation.Bean;
* @since 2.0.0
*/
@AutoConfiguration(after = RabbitAutoConfiguration.class)
-@ConditionalOnClass(RabbitTemplate.class)
+@ConditionalOnClass({ RabbitHealthIndicator.class, RabbitTemplate.class })
@ConditionalOnBean(RabbitTemplate.class)
@ConditionalOnEnabledHealthIndicator("rabbit")
public class RabbitHealthContributorAutoConfiguration
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitConnectionFactoryMetricsPostProcessor.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitConnectionFactoryMetricsPostProcessor.java
index de1835d8ee..2fc6cbae22 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitConnectionFactoryMetricsPostProcessor.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitConnectionFactoryMetricsPostProcessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2022 the original author or authors.
+ * 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.
@@ -23,7 +23,7 @@ import io.micrometer.core.instrument.Tags;
import org.springframework.amqp.rabbit.connection.AbstractConnectionFactory;
import org.springframework.beans.factory.config.BeanPostProcessor;
-import org.springframework.boot.actuate.metrics.amqp.RabbitMetrics;
+import org.springframework.boot.amqp.actuate.metrics.RabbitMetrics;
import org.springframework.context.ApplicationContext;
import org.springframework.core.Ordered;
import org.springframework.util.StringUtils;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java
index 270cbd4e16..7a8b027165 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/RabbitMetricsAutoConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2022 the original author or authors.
+ * 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.
@@ -22,7 +22,7 @@ import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.amqp.rabbit.connection.AbstractConnectionFactory;
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
-import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
+import org.springframework.boot.amqp.actuate.metrics.RabbitMetrics;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
@@ -37,9 +37,9 @@ import org.springframework.context.annotation.Bean;
* @author Stephane Nicoll
* @since 2.0.0
*/
-@AutoConfiguration(after = { MetricsAutoConfiguration.class, RabbitAutoConfiguration.class,
- SimpleMetricsExportAutoConfiguration.class })
-@ConditionalOnClass({ ConnectionFactory.class, AbstractConnectionFactory.class })
+@AutoConfiguration(after = { MetricsAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class },
+ afterName = "org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration")
+@ConditionalOnClass({ ConnectionFactory.class, AbstractConnectionFactory.class, RabbitMetrics.class })
@ConditionalOnBean({ org.springframework.amqp.rabbit.connection.ConnectionFactory.class, MeterRegistry.class })
public class RabbitMetricsAutoConfiguration {
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfigurationTests.java
index 681a9d66de..b443e7052a 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfigurationTests.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/amqp/RabbitHealthContributorAutoConfigurationTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2023 the original author or authors.
+ * 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.
@@ -18,8 +18,8 @@ package org.springframework.boot.actuate.autoconfigure.amqp;
import org.junit.jupiter.api.Test;
-import org.springframework.boot.actuate.amqp.RabbitHealthIndicator;
import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration;
+import org.springframework.boot.amqp.actuate.health.RabbitHealthIndicator;
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
diff --git a/spring-boot-project/spring-boot-actuator/build.gradle b/spring-boot-project/spring-boot-actuator/build.gradle
index 4296796e17..4ef10e6912 100644
--- a/spring-boot-project/spring-boot-actuator/build.gradle
+++ b/spring-boot-project/spring-boot-actuator/build.gradle
@@ -84,7 +84,6 @@ dependencies {
optional("org.springframework:spring-web")
optional("org.springframework:spring-webmvc")
optional("org.springframework.graphql:spring-graphql")
- optional("org.springframework.amqp:spring-rabbit")
optional("org.springframework.data:spring-data-couchbase")
optional("org.springframework.data:spring-data-elasticsearch")
optional("org.springframework.data:spring-data-ldap")
diff --git a/spring-boot-project/spring-boot-amqp/build.gradle b/spring-boot-project/spring-boot-amqp/build.gradle
index af1bc9ce0f..3642f8b7c5 100644
--- a/spring-boot-project/spring-boot-amqp/build.gradle
+++ b/spring-boot-project/spring-boot-amqp/build.gradle
@@ -13,11 +13,16 @@ dependencies {
api("org.springframework:spring-messaging")
api("org.springframework.amqp:spring-rabbit")
+ compileOnly("com.fasterxml.jackson.core:jackson-annotations")
+
implementation(project(":spring-boot-project:spring-boot-tx"))
+ optional(project(":spring-boot-project:spring-boot-actuator"))
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
+ optional("io.micrometer:micrometer-core")
optional("org.springframework.amqp:spring-rabbit-stream")
+ 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"))
diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/amqp/RabbitHealthIndicator.java b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicator.java
similarity index 96%
rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/amqp/RabbitHealthIndicator.java
rename to spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicator.java
index e4861b0bcc..5db00a6705 100644
--- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/amqp/RabbitHealthIndicator.java
+++ b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicator.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.boot.actuate.amqp;
+package org.springframework.boot.amqp.actuate.health;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.boot.actuate.health.AbstractHealthIndicator;
@@ -27,7 +27,7 @@ import org.springframework.util.Assert;
* RabbitMQ messaging system.
*
* @author Christian Dupuis
- * @since 1.1.0
+ * @since 4.0.0
*/
public class RabbitHealthIndicator extends AbstractHealthIndicator {
diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/amqp/package-info.java b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/package-info.java
similarity index 77%
rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/amqp/package-info.java
rename to spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/package-info.java
index ef5e753d73..acae805313 100644
--- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/amqp/package-info.java
+++ b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2019 the original author or authors.
+ * 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.
@@ -15,6 +15,6 @@
*/
/**
- * Actuator support for RabbitMQ Java Client metrics.
+ * Health integration for AMQP and RabbitMQ.
*/
-package org.springframework.boot.actuate.metrics.amqp;
+package org.springframework.boot.amqp.actuate.health;
diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/amqp/RabbitMetrics.java b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/metrics/RabbitMetrics.java
similarity index 96%
rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/amqp/RabbitMetrics.java
rename to spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/metrics/RabbitMetrics.java
index 6054386f18..cff010fbec 100644
--- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/amqp/RabbitMetrics.java
+++ b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/metrics/RabbitMetrics.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.boot.actuate.metrics.amqp;
+package org.springframework.boot.amqp.actuate.metrics;
import java.util.Collections;
@@ -31,7 +31,7 @@ import org.springframework.util.Assert;
*
* @author Arnaud Cogoluègnes
* @author Stephane Nicoll
- * @since 2.0.0
+ * @since 4.0.0
*/
public class RabbitMetrics implements MeterBinder {
diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/amqp/package-info.java b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/metrics/package-info.java
similarity index 79%
rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/amqp/package-info.java
rename to spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/metrics/package-info.java
index fda433473c..e0664883af 100644
--- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/amqp/package-info.java
+++ b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/metrics/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2019 the original author or authors.
+ * 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.
@@ -15,6 +15,6 @@
*/
/**
- * Actuator support for AMQP and RabbitMQ.
+ * Metrics for AMQP and RabbitMQ.
*/
-package org.springframework.boot.actuate.amqp;
+package org.springframework.boot.amqp.actuate.metrics;
diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/amqp/RabbitHealthIndicatorTests.java b/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicatorTests.java
similarity index 98%
rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/amqp/RabbitHealthIndicatorTests.java
rename to spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicatorTests.java
index 4a10bee815..39fb2bac49 100644
--- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/amqp/RabbitHealthIndicatorTests.java
+++ b/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicatorTests.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.boot.actuate.amqp;
+package org.springframework.boot.amqp.actuate.health;
import java.util.Collections;
diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/amqp/RabbitMetricsTests.java b/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/actuate/metrics/RabbitMetricsTests.java
similarity index 93%
rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/amqp/RabbitMetricsTests.java
rename to spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/actuate/metrics/RabbitMetricsTests.java
index a186e6f231..994abc7c89 100644
--- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/amqp/RabbitMetricsTests.java
+++ b/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/actuate/metrics/RabbitMetricsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2019 the original author or authors.
+ * 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.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.boot.actuate.metrics.amqp;
+package org.springframework.boot.amqp.actuate.metrics;
import com.rabbitmq.client.ConnectionFactory;
import io.micrometer.core.instrument.Tags;
diff --git a/src/checkstyle/import-control.xml b/src/checkstyle/import-control.xml
index 2ff31bf9c9..788dd244e3 100644
--- a/src/checkstyle/import-control.xml
+++ b/src/checkstyle/import-control.xml
@@ -5,6 +5,7 @@
+
@@ -48,6 +49,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -189,4 +201,5 @@
+