mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-10-09 02:49:02 +00:00
Move Spring AMQP 0.9 support to spring-boot-rabbitmq
Now that Spring AMQP supports AMQP 1.0 as well, we need to straighten out our existing support. AMQP 0.9 is RabbitMQ specific, so we can no longer refer it to "amqp". This commit migrates the existing support to spring-boot-rabbitmq and renames the starters as well. For continuity, users should migrate from "spring-boot-starter-amqp" to "spring-boot-starter-rabbitmq". While the root package has been changed for consistency, most names are the same, including configuration properties still in the "spring.rabbitmq" namespace. Keys to configure the version of the RabbitMQ clients have migrated to 'rabbitmq.client' and 'rabbitmq.stream.client' respectively. Closes gh-49677
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
# Connection Details Factories
|
||||
org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\
|
||||
org.springframework.boot.amqp.docker.compose.RabbitDockerComposeConnectionDetailsFactory,\
|
||||
org.springframework.boot.amqp.docker.compose.RabbitStreamDockerComposeConnectionDetailsFactory,\
|
||||
org.springframework.boot.amqp.testcontainers.DeprecatedRabbitContainerConnectionDetailsFactory,\
|
||||
org.springframework.boot.amqp.testcontainers.RabbitContainerConnectionDetailsFactory,\
|
||||
org.springframework.boot.amqp.testcontainers.RabbitStreamContainerConnectionDetailsFactory
|
||||
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration
|
||||
org.springframework.boot.amqp.autoconfigure.health.RabbitHealthContributorAutoConfiguration
|
||||
org.springframework.boot.amqp.autoconfigure.metrics.RabbitMetricsAutoConfiguration
|
||||
@@ -28,9 +28,6 @@ dependencies {
|
||||
api(project(":module:spring-boot-activemq")) {
|
||||
transitive = false
|
||||
}
|
||||
api(project(":module:spring-boot-amqp")) {
|
||||
transitive = false
|
||||
}
|
||||
api(project(":module:spring-boot-artemis")) {
|
||||
transitive = false
|
||||
}
|
||||
@@ -226,6 +223,9 @@ dependencies {
|
||||
api(project(":module:spring-boot-r2dbc")) {
|
||||
transitive = false
|
||||
}
|
||||
api(project(":module:spring-boot-rabbitmq")) {
|
||||
transitive = false
|
||||
}
|
||||
api(project(":module:spring-boot-reactor")) {
|
||||
transitive = false
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ plugins {
|
||||
id "org.springframework.boot.optional-dependencies"
|
||||
}
|
||||
|
||||
description = "Spring Boot AMQP"
|
||||
description = "Spring Boot RabbitMQ"
|
||||
|
||||
dependencies {
|
||||
api(project(":core:spring-boot"))
|
||||
+10
-9
@@ -14,25 +14,25 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.docker.compose;
|
||||
package org.springframework.boot.rabbitmq.docker.compose;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails.Address;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails.Address;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.testsupport.container.TestImage;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Integration tests for {@link RabbitDockerComposeConnectionDetailsFactory} and
|
||||
* {@link RabbitStreamDockerComposeConnectionDetailsFactory} when used in combination.
|
||||
* Integration tests for {@link RabbitMqDockerComposeConnectionDetailsFactory} and
|
||||
* {@link RabbitMqStreamDockerComposeConnectionDetailsFactory} when used in combination.
|
||||
*
|
||||
* @author Andy Wilkinson
|
||||
*/
|
||||
class RabbitAndRabbitStreamDockerComposeConnectionDetailsFactoryIntegrationTests {
|
||||
class RabbitMqAndRabbitMqStreamDockerComposeConnectionDetailsFactoryIntegrationTests {
|
||||
|
||||
@DockerComposeTest(composeFile = "rabbit-and-rabbit-stream-separate-services-compose.yaml",
|
||||
@DockerComposeTest(composeFile = "rabbitmq-and-rabbitmq-stream-separate-services-compose.yaml",
|
||||
image = TestImage.RABBITMQ)
|
||||
void runCreatesConnectionDetailsFromSeparateServices(RabbitConnectionDetails connectionDetails,
|
||||
RabbitStreamConnectionDetails streamConnectionDetails) {
|
||||
@@ -40,7 +40,8 @@ class RabbitAndRabbitStreamDockerComposeConnectionDetailsFactoryIntegrationTests
|
||||
assertConnectionDetails(streamConnectionDetails);
|
||||
}
|
||||
|
||||
@DockerComposeTest(composeFile = "rabbit-and-rabbit-stream-single-service-compose.yaml", image = TestImage.RABBITMQ)
|
||||
@DockerComposeTest(composeFile = "rabbitmq-and-rabbitmq-stream-single-service-compose.yaml",
|
||||
image = TestImage.RABBITMQ)
|
||||
void runCreatesConnectionDetailsFromSingleService(RabbitConnectionDetails connectionDetails,
|
||||
RabbitStreamConnectionDetails streamConnectionDetails) {
|
||||
assertConnectionDetails(connectionDetails);
|
||||
+7
-7
@@ -14,33 +14,33 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.docker.compose;
|
||||
package org.springframework.boot.rabbitmq.docker.compose;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails.Address;
|
||||
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails.Address;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
import org.springframework.boot.testsupport.container.TestImage;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Integration tests for {@link RabbitDockerComposeConnectionDetailsFactory}.
|
||||
* Integration tests for {@link RabbitMqDockerComposeConnectionDetailsFactory}.
|
||||
*
|
||||
* @author Moritz Halbritter
|
||||
* @author Andy Wilkinson
|
||||
* @author Phillip Webb
|
||||
* @author Scott Frederick
|
||||
*/
|
||||
class RabbitDockerComposeConnectionDetailsFactoryIntegrationTests {
|
||||
class RabbitMqDockerComposeConnectionDetailsFactoryIntegrationTests {
|
||||
|
||||
@DockerComposeTest(composeFile = "rabbit-compose.yaml", image = TestImage.RABBITMQ)
|
||||
@DockerComposeTest(composeFile = "rabbitmq-compose.yaml", image = TestImage.RABBITMQ)
|
||||
void runCreatesConnectionDetails(RabbitConnectionDetails connectionDetails) {
|
||||
assertConnectionDetails(connectionDetails);
|
||||
assertThat(connectionDetails.getSslBundle()).isNull();
|
||||
}
|
||||
|
||||
@DockerComposeTest(composeFile = "rabbit-ssl-compose.yaml", image = TestImage.RABBITMQ,
|
||||
@DockerComposeTest(composeFile = "rabbitmq-ssl-compose.yaml", image = TestImage.RABBITMQ,
|
||||
additionalResources = { "../../ca.crt", "../../server.crt", "../../server.key", "../../client.crt",
|
||||
"../../client.key", "rabbitmq-ssl.conf" })
|
||||
void runWithSslCreatesConnectionDetails(RabbitConnectionDetails connectionDetails) {
|
||||
+6
-6
@@ -14,28 +14,28 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.docker.compose;
|
||||
package org.springframework.boot.rabbitmq.docker.compose;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
import org.springframework.boot.testsupport.container.TestImage;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Integration tests for {@link RabbitStreamDockerComposeConnectionDetailsFactory}.
|
||||
* Integration tests for {@link RabbitMqStreamDockerComposeConnectionDetailsFactory}.
|
||||
*
|
||||
* @author Andy Wilkinson
|
||||
*/
|
||||
class RabbitStreamDockerComposeConnectionDetailsFactoryIntegrationTests {
|
||||
class RabbitMqStreamDockerComposeConnectionDetailsFactoryIntegrationTests {
|
||||
|
||||
@DockerComposeTest(composeFile = "rabbit-stream-compose.yaml", image = TestImage.RABBITMQ)
|
||||
@DockerComposeTest(composeFile = "rabbitmq-stream-compose.yaml", image = TestImage.RABBITMQ)
|
||||
void runCreatesConnectionDetails(RabbitStreamConnectionDetails connectionDetails) {
|
||||
assertConnectionDetails(connectionDetails);
|
||||
}
|
||||
|
||||
@DockerComposeTest(composeFile = "rabbit-stream-ssl-compose.yaml", image = TestImage.RABBITMQ,
|
||||
@DockerComposeTest(composeFile = "rabbitmq-stream-ssl-compose.yaml", image = TestImage.RABBITMQ,
|
||||
additionalResources = { "../../ca.crt", "../../server.crt", "../../server.key", "../../client.crt",
|
||||
"../../client.key", "rabbitmq-stream-ssl.conf" })
|
||||
void runWithSslCreatesConnectionDetails(RabbitStreamConnectionDetails connectionDetails) {
|
||||
+9
-8
@@ -14,26 +14,27 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.docker.compose;
|
||||
package org.springframework.boot.rabbitmq.docker.compose;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails.Address;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails.Address;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.testsupport.container.TestImage;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Integration tests for {@link RabbitDockerComposeConnectionDetailsFactory} and
|
||||
* {@link RabbitStreamDockerComposeConnectionDetailsFactory} when using a single service
|
||||
* Integration tests for {@link RabbitMqDockerComposeConnectionDetailsFactory} and
|
||||
* {@link RabbitMqStreamDockerComposeConnectionDetailsFactory} when using a single service
|
||||
* for standard and stream-based messaging.
|
||||
*
|
||||
* @author Andy Wilkinson
|
||||
*/
|
||||
class SingleServiceRabbitAndRabbitStreamDockerComposeConnectionDetailsFactoryIntegrationTests {
|
||||
class SingleServiceRabbitAndRabbitMqStreamDockerComposeConnectionDetailsFactoryIntegrationTests {
|
||||
|
||||
@DockerComposeTest(composeFile = "rabbit-and-rabbit-stream-single-service-compose.yaml", image = TestImage.RABBITMQ)
|
||||
@DockerComposeTest(composeFile = "rabbitmq-and-rabbitmq-stream-single-service-compose.yaml",
|
||||
image = TestImage.RABBITMQ)
|
||||
void runCreatesConnectionDetails(RabbitConnectionDetails connectionDetails,
|
||||
RabbitStreamConnectionDetails streamConnectionDetails) {
|
||||
assertConnectionDetails(connectionDetails);
|
||||
+4
-4
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.testcontainers;
|
||||
package org.springframework.boot.rabbitmq.testcontainers;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
@@ -30,9 +30,9 @@ import org.springframework.amqp.rabbit.annotation.Queue;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
|
||||
import org.springframework.boot.testsupport.container.TestImage;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -48,7 +48,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
* @author Andy Wilkinson
|
||||
* @author Phillip Webb
|
||||
* @deprecated since 4.0.0 for removal in 4.2.0 in favor of
|
||||
* {@link RabbitContainerConnectionDetailsFactoryIntegrationTests}.
|
||||
* {@link RabbitMqContainerConnectionDetailsFactoryIntegrationTests}.
|
||||
*/
|
||||
@SpringJUnitConfig
|
||||
@Testcontainers(disabledWithoutDocker = true)
|
||||
+5
-5
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.testcontainers;
|
||||
package org.springframework.boot.rabbitmq.testcontainers;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
@@ -30,9 +30,9 @@ import org.springframework.amqp.rabbit.annotation.Queue;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
|
||||
import org.springframework.boot.testsupport.container.TestImage;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -42,7 +42,7 @@ import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Tests for {@link RabbitContainerConnectionDetailsFactory}.
|
||||
* Tests for {@link RabbitMqContainerConnectionDetailsFactory}.
|
||||
*
|
||||
* @author Moritz Halbritter
|
||||
* @author Andy Wilkinson
|
||||
@@ -50,7 +50,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
*/
|
||||
@SpringJUnitConfig
|
||||
@Testcontainers(disabledWithoutDocker = true)
|
||||
class RabbitContainerConnectionDetailsFactoryIntegrationTests {
|
||||
class RabbitMqContainerConnectionDetailsFactoryIntegrationTests {
|
||||
|
||||
@Container
|
||||
@ServiceConnection
|
||||
+10
-10
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.testcontainers;
|
||||
package org.springframework.boot.rabbitmq.testcontainers;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
@@ -31,13 +31,13 @@ import org.testcontainers.rabbitmq.RabbitMQContainer;
|
||||
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.amqp.autoconfigure.EnvironmentBuilderCustomizer;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.amqp.testcontainers.RabbitContainerConnectionDetailsFactory.RabbitMqContainerConnectionDetails;
|
||||
import org.springframework.boot.amqp.testcontainers.RabbitStreamContainerConnectionDetailsFactory.RabbitMqStreamContainerConnectionDetails;
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.EnvironmentBuilderCustomizer;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.testcontainers.RabbitMqContainerConnectionDetailsFactory.RabbitMqContainerConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.testcontainers.RabbitMqStreamContainerConnectionDetailsFactory.RabbitMqStreamContainerConnectionDetails;
|
||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
|
||||
import org.springframework.boot.testsupport.container.TestImage;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -50,8 +50,8 @@ import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Tests for {@link RabbitStreamContainerConnectionDetailsFactory} with a single container
|
||||
* that's only used for streams.
|
||||
* Tests for {@link RabbitMqStreamContainerConnectionDetailsFactory} with a single
|
||||
* container that's only used for streams.
|
||||
*
|
||||
* @author Eddú Meléndez
|
||||
* @author Andy Wilkinson
|
||||
@@ -60,7 +60,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
@TestPropertySource(
|
||||
properties = { "spring.rabbitmq.stream.name=stream.queue1", "spring.rabbitmq.listener.type=stream" })
|
||||
@Testcontainers(disabledWithoutDocker = true)
|
||||
class RabbitStreamContainerConnectionDetailsFactoryIntegrationTests {
|
||||
class RabbitMqStreamContainerConnectionDetailsFactoryIntegrationTests {
|
||||
|
||||
private static final int RABBITMQ_STREAMS_PORT = 5552;
|
||||
|
||||
+17
-17
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.testcontainers;
|
||||
package org.springframework.boot.rabbitmq.testcontainers;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
@@ -32,13 +32,13 @@ import org.testcontainers.utility.MountableFile;
|
||||
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.amqp.autoconfigure.EnvironmentBuilderCustomizer;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.amqp.testcontainers.RabbitContainerConnectionDetailsFactory.RabbitMqContainerConnectionDetails;
|
||||
import org.springframework.boot.amqp.testcontainers.RabbitStreamContainerConnectionDetailsFactory.RabbitMqStreamContainerConnectionDetails;
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.EnvironmentBuilderCustomizer;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.testcontainers.RabbitMqContainerConnectionDetailsFactory.RabbitMqContainerConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.testcontainers.RabbitMqStreamContainerConnectionDetailsFactory.RabbitMqStreamContainerConnectionDetails;
|
||||
import org.springframework.boot.testcontainers.service.connection.PemKeyStore;
|
||||
import org.springframework.boot.testcontainers.service.connection.PemTrustStore;
|
||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
|
||||
@@ -53,7 +53,7 @@ import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Tests for {@link RabbitStreamContainerConnectionDetailsFactory} with SSL.
|
||||
* Tests for {@link RabbitMqStreamContainerConnectionDetailsFactory} with SSL.
|
||||
*
|
||||
* @author Eddú Meléndez
|
||||
* @author Andy Wilkinson
|
||||
@@ -62,15 +62,15 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
@TestPropertySource(
|
||||
properties = { "spring.rabbitmq.stream.name=stream.queue1", "spring.rabbitmq.listener.type=stream" })
|
||||
@Testcontainers(disabledWithoutDocker = true)
|
||||
class RabbitStreamWithSslContainerConnectionDetailsFactoryIntegrationTests {
|
||||
class RabbitMqStreamWithSslContainerConnectionDetailsFactoryIntegrationTests {
|
||||
|
||||
private static final int RABBITMQ_STREAMS_TLS_PORT = 5551;
|
||||
|
||||
@Container
|
||||
@ServiceConnection(type = RabbitStreamConnectionDetails.class)
|
||||
@PemTrustStore(certificate = "classpath:org/springframework/boot/amqp/ca.crt")
|
||||
@PemKeyStore(certificate = "classpath:org/springframework/boot/amqp/client.crt",
|
||||
privateKey = "classpath:org/springframework/boot/amqp/client.key")
|
||||
@PemTrustStore(certificate = "classpath:org/springframework/boot/rabbitmq/ca.crt")
|
||||
@PemKeyStore(certificate = "classpath:org/springframework/boot/rabbitmq/client.crt",
|
||||
privateKey = "classpath:org/springframework/boot/rabbitmq/client.key")
|
||||
static final RabbitMQContainer rabbit = getRabbitMqStreamContainer();
|
||||
|
||||
private static RabbitMQContainer getRabbitMqStreamContainer() {
|
||||
@@ -80,15 +80,15 @@ class RabbitStreamWithSslContainerConnectionDetailsFactoryIntegrationTests {
|
||||
container.withCopyToContainer(Transferable.of(enabledPlugins), "/etc/rabbitmq/enabled_plugins");
|
||||
container.withCopyFileToContainer(
|
||||
MountableFile
|
||||
.forClasspathResource("org/springframework/boot/amqp/testcontainers/rabbitmq-stream-ssl.conf"),
|
||||
.forClasspathResource("org/springframework/boot/rabbitmq/testcontainers/rabbitmq-stream-ssl.conf"),
|
||||
"/etc/rabbitmq/rabbitmq.conf");
|
||||
container.withCopyFileToContainer(MountableFile.forClasspathResource("org/springframework/boot/amqp/ca.crt"),
|
||||
"/etc/rabbitmq/ca.crt");
|
||||
container.withCopyFileToContainer(
|
||||
MountableFile.forClasspathResource("org/springframework/boot/amqp/server.key"),
|
||||
MountableFile.forClasspathResource("org/springframework/boot/rabbitmq/ca.crt"), "/etc/rabbitmq/ca.crt");
|
||||
container.withCopyFileToContainer(
|
||||
MountableFile.forClasspathResource("org/springframework/boot/rabbitmq/server.key"),
|
||||
"/etc/rabbitmq/server.key");
|
||||
container.withCopyFileToContainer(
|
||||
MountableFile.forClasspathResource("org/springframework/boot/amqp/server.crt"),
|
||||
MountableFile.forClasspathResource("org/springframework/boot/rabbitmq/server.crt"),
|
||||
"/etc/rabbitmq/server.crt");
|
||||
return container;
|
||||
}
|
||||
+9
-9
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.testcontainers;
|
||||
package org.springframework.boot.rabbitmq.testcontainers;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.Duration;
|
||||
@@ -35,13 +35,13 @@ import org.springframework.amqp.core.Queue;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.amqp.autoconfigure.EnvironmentBuilderCustomizer;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.amqp.testcontainers.RabbitContainerConnectionDetailsFactory.RabbitMqContainerConnectionDetails;
|
||||
import org.springframework.boot.amqp.testcontainers.RabbitStreamContainerConnectionDetailsFactory.RabbitMqStreamContainerConnectionDetails;
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.EnvironmentBuilderCustomizer;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.testcontainers.RabbitMqContainerConnectionDetailsFactory.RabbitMqContainerConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.testcontainers.RabbitMqStreamContainerConnectionDetailsFactory.RabbitMqStreamContainerConnectionDetails;
|
||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
|
||||
import org.springframework.boot.testsupport.container.TestImage;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -54,7 +54,7 @@ import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Tests for {@link RabbitStreamContainerConnectionDetailsFactory} with two containers,
|
||||
* Tests for {@link RabbitMqStreamContainerConnectionDetailsFactory} with two containers,
|
||||
* one for streams and one for standard messaging.
|
||||
*
|
||||
* @author Eddú Meléndez
|
||||
@@ -64,7 +64,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
@TestPropertySource(
|
||||
properties = { "spring.rabbitmq.stream.name=stream.queue1", "spring.rabbitmq.listener.type=stream" })
|
||||
@Testcontainers(disabledWithoutDocker = true)
|
||||
class SeparateContainersRabbitAndRabbitStreamContainerConnectionDetailsFactoryIntegrationTests {
|
||||
class SeparateContainersRabbitMqAndRabbitMqStreamContainerConnectionDetailsFactoryIntegrationTests {
|
||||
|
||||
private static final int RABBITMQ_STREAMS_PORT = 5552;
|
||||
|
||||
+10
-10
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.testcontainers;
|
||||
package org.springframework.boot.rabbitmq.testcontainers;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.Duration;
|
||||
@@ -35,13 +35,13 @@ import org.springframework.amqp.core.Queue;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.amqp.autoconfigure.EnvironmentBuilderCustomizer;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.amqp.testcontainers.RabbitContainerConnectionDetailsFactory.RabbitMqContainerConnectionDetails;
|
||||
import org.springframework.boot.amqp.testcontainers.RabbitStreamContainerConnectionDetailsFactory.RabbitMqStreamContainerConnectionDetails;
|
||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.EnvironmentBuilderCustomizer;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.testcontainers.RabbitMqContainerConnectionDetailsFactory.RabbitMqContainerConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.testcontainers.RabbitMqStreamContainerConnectionDetailsFactory.RabbitMqStreamContainerConnectionDetails;
|
||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
|
||||
import org.springframework.boot.testsupport.container.TestImage;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
@@ -54,8 +54,8 @@ import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Tests for {@link RabbitStreamContainerConnectionDetailsFactory} with a single container
|
||||
* used for both streams and standard messaging.
|
||||
* Tests for {@link RabbitMqStreamContainerConnectionDetailsFactory} with a single
|
||||
* container used for both streams and standard messaging.
|
||||
*
|
||||
* @author Eddú Meléndez
|
||||
* @author Andy Wilkinson
|
||||
@@ -64,7 +64,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
@TestPropertySource(
|
||||
properties = { "spring.rabbitmq.stream.name=stream.queue1", "spring.rabbitmq.listener.type=stream" })
|
||||
@Testcontainers(disabledWithoutDocker = true)
|
||||
class SingleContainerRabbitAndRabbitStreamContainerConnectionDetailsFactoryIntegrationTests {
|
||||
class SingleContainerRabbitAndRabbitMqStreamContainerConnectionDetailsFactoryIntegrationTests {
|
||||
|
||||
private static final int RABBITMQ_STREAMS_PORT = 5552;
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -33,7 +33,7 @@ import org.springframework.util.Assert;
|
||||
* @author Moritz Halbritter
|
||||
* @author Andy Wilkinson
|
||||
* @author Phillip Webb
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public abstract class AbstractConnectionFactoryConfigurer<T extends AbstractConnectionFactory> {
|
||||
|
||||
+5
-5
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Executor;
|
||||
@@ -28,8 +28,8 @@ import org.springframework.amqp.rabbit.retry.MessageRecoverer;
|
||||
import org.springframework.amqp.rabbit.retry.RejectAndDontRequeueRecoverer;
|
||||
import org.springframework.amqp.rabbit.support.micrometer.RabbitListenerObservationConvention;
|
||||
import org.springframework.amqp.support.converter.MessageConverter;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitProperties.ListenerRetry;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitProperties.Retry;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitProperties.ListenerRetry;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitProperties.Retry;
|
||||
import org.springframework.boot.retry.RetryPolicySettings;
|
||||
import org.springframework.core.retry.RetryPolicy;
|
||||
import org.springframework.util.Assert;
|
||||
@@ -41,7 +41,7 @@ import org.springframework.util.Assert;
|
||||
* @param <T> the container factory type.
|
||||
* @author Gary Russell
|
||||
* @author Stephane Nicoll
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public abstract class AbstractRabbitListenerContainerFactoryConfigurer<T extends AbstractRabbitListenerContainerFactory<?>> {
|
||||
|
||||
@@ -102,7 +102,7 @@ public abstract class AbstractRabbitListenerContainerFactoryConfigurer<T extends
|
||||
/**
|
||||
* Sets the observation convention to use.
|
||||
* @param observationConvention the observation convention to use
|
||||
* @since 4.1.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
protected void setObservationConvention(@Nullable RabbitListenerObservationConvention observationConvention) {
|
||||
this.observationConvention = observationConvention;
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
@@ -33,7 +33,7 @@ import org.springframework.boot.context.properties.PropertyMapper;
|
||||
* @author Moritz Halbritter
|
||||
* @author Andy Wilkinson
|
||||
* @author Phillip Webb
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public class CachingConnectionFactoryConfigurer extends AbstractConnectionFactoryConfigurer<CachingConnectionFactory> {
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import com.rabbitmq.client.ConnectionFactory;
|
||||
|
||||
@@ -23,7 +23,7 @@ import com.rabbitmq.client.ConnectionFactory;
|
||||
* {@link ConnectionFactory} to fine-tune its auto-configuration.
|
||||
*
|
||||
* @author Andy Wilkinson
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface ConnectionFactoryCustomizer {
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import org.springframework.amqp.rabbit.config.DirectRabbitListenerContainerFactory;
|
||||
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
|
||||
@@ -30,7 +30,7 @@ import org.springframework.boot.context.properties.PropertyMapper;
|
||||
*
|
||||
* @author Gary Russell
|
||||
* @author Stephane Nicoll
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public final class DirectRabbitListenerContainerFactoryConfigurer
|
||||
extends AbstractRabbitListenerContainerFactoryConfigurer<DirectRabbitListenerContainerFactory> {
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import com.rabbitmq.stream.Environment;
|
||||
import com.rabbitmq.stream.EnvironmentBuilder;
|
||||
@@ -25,7 +25,7 @@ import com.rabbitmq.stream.EnvironmentBuilder;
|
||||
* {@link Environment}.
|
||||
*
|
||||
* @author Andy Wilkinson
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface EnvironmentBuilderCustomizer {
|
||||
+2
-2
@@ -14,14 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitProperties.Ssl;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitProperties.Ssl;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
import org.springframework.boot.ssl.SslBundles;
|
||||
import org.springframework.util.Assert;
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import org.springframework.amqp.rabbit.annotation.EnableRabbit;
|
||||
import org.springframework.amqp.rabbit.config.ContainerCustomizer;
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import com.rabbitmq.client.Channel;
|
||||
import com.rabbitmq.client.impl.CredentialsProvider;
|
||||
@@ -72,7 +72,7 @@ import org.springframework.core.io.ResourceLoader;
|
||||
* @author Moritz Halbritter
|
||||
* @author Andy Wilkinson
|
||||
* @author Scott Frederick
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
@AutoConfiguration
|
||||
@ConditionalOnClass({ RabbitTemplate.class, Channel.class })
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -30,7 +30,7 @@ import org.springframework.util.Assert;
|
||||
* @author Moritz Halbritter
|
||||
* @author Andy Wilkinson
|
||||
* @author Phillip Webb
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public interface RabbitConnectionDetails extends ConnectionDetails {
|
||||
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
@@ -23,8 +23,8 @@ import com.rabbitmq.client.impl.CredentialsRefreshService;
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
import org.springframework.amqp.rabbit.connection.RabbitConnectionFactoryBean;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails.Address;
|
||||
import org.springframework.boot.context.properties.PropertyMapper;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails.Address;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
import org.springframework.boot.ssl.SslBundles;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
@@ -44,7 +44,7 @@ import org.springframework.util.unit.DataSize;
|
||||
* @author Andy Wilkinson
|
||||
* @author Phillip Webb
|
||||
* @author Scott Frederick
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public class RabbitConnectionFactoryBeanConfigurer {
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import org.springframework.boot.retry.RetryPolicySettings;
|
||||
import org.springframework.core.retry.RetryPolicy;
|
||||
@@ -24,7 +24,7 @@ import org.springframework.core.retry.RetryPolicy;
|
||||
* settings} used by message listeners.
|
||||
*
|
||||
* @author Stephane Nicoll
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
* @see RetryPolicy
|
||||
*/
|
||||
@FunctionalInterface
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
@@ -53,7 +53,7 @@ import org.springframework.util.unit.DataSize;
|
||||
* @author Lasse Wulff
|
||||
* @author Yanming Zhou
|
||||
* @author Jay Choi
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
@ConfigurationProperties("spring.rabbitmq")
|
||||
public class RabbitProperties {
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.util.LinkedList;
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.springframework.core.retry.RetryTemplate;
|
||||
* Define the settings of a {@link RetryTemplate}.
|
||||
*
|
||||
* @author Stephane Nicoll
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public class RabbitRetryTemplateSettings {
|
||||
|
||||
+4
-4
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import javax.net.ssl.SSLException;
|
||||
|
||||
@@ -27,13 +27,13 @@ import org.jspecify.annotations.Nullable;
|
||||
import org.springframework.amqp.rabbit.config.ContainerCustomizer;
|
||||
import org.springframework.amqp.support.converter.MessageConverter;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitProperties.Stream;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitProperties.Stream.Ssl;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitProperties.StreamContainer;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.context.properties.PropertyMapper;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitProperties.Stream;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitProperties.Stream.Ssl;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitProperties.StreamContainer;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
import org.springframework.boot.ssl.SslBundles;
|
||||
import org.springframework.boot.ssl.SslManagerBundle;
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.springframework.boot.ssl.SslBundle;
|
||||
*
|
||||
* @author Eddú Meléndez
|
||||
* @author Jay Choi
|
||||
* @since 4.1.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public interface RabbitStreamConnectionDetails extends ConnectionDetails {
|
||||
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
@@ -32,7 +32,7 @@ import org.springframework.rabbit.stream.support.converter.StreamMessageConverte
|
||||
* auto-configuration.
|
||||
*
|
||||
* @author Eddú Meléndez
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public class RabbitStreamTemplateConfigurer {
|
||||
|
||||
@@ -73,7 +73,7 @@ public class RabbitStreamTemplateConfigurer {
|
||||
/**
|
||||
* Set the observation convention to use.
|
||||
* @param observationConvention the observation convention to use
|
||||
* @since 4.1.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public void setObservationConvention(@Nullable RabbitStreamTemplateObservationConvention observationConvention) {
|
||||
this.observationConvention = observationConvention;
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.List;
|
||||
@@ -45,7 +45,7 @@ import org.springframework.util.CollectionUtils;
|
||||
*
|
||||
* @author Stephane Nicoll
|
||||
* @author Yanming Zhou
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public class RabbitTemplateConfigurer {
|
||||
|
||||
@@ -87,7 +87,7 @@ public class RabbitTemplateConfigurer {
|
||||
/**
|
||||
* Sets the observation convention to use.
|
||||
* @param observationConvention the observation convention to use
|
||||
* @since 4.1.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public void setObservationConvention(@Nullable RabbitTemplateObservationConvention observationConvention) {
|
||||
this.observationConvention = observationConvention;
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
|
||||
@@ -22,7 +22,7 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
* Callback interface that can be used to customize a {@link RabbitTemplate}.
|
||||
*
|
||||
* @author dang zhicairang
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface RabbitTemplateCustomizer {
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.core.retry.RetryTemplate;
|
||||
@@ -24,7 +24,7 @@ import org.springframework.core.retry.RetryTemplate;
|
||||
* {@linkplain RabbitRetryTemplateSettings retry settings} used by {@link RabbitTemplate}.
|
||||
*
|
||||
* @author Stephane Nicoll
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
* @see RabbitTemplateConfigurer
|
||||
* @see RetryTemplate
|
||||
*/
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
|
||||
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
|
||||
@@ -30,7 +30,7 @@ import org.springframework.boot.context.properties.PropertyMapper;
|
||||
*
|
||||
* @author Stephane Nicoll
|
||||
* @author Gary Russell
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public final class SimpleRabbitListenerContainerFactoryConfigurer
|
||||
extends AbstractRabbitListenerContainerFactoryConfigurer<SimpleRabbitListenerContainerFactory> {
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
+4
-4
@@ -14,12 +14,10 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure.health;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure.health;
|
||||
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.amqp.health.RabbitHealthIndicator;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
@@ -28,13 +26,15 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
|
||||
import org.springframework.boot.health.autoconfigure.contributor.CompositeHealthContributorConfiguration;
|
||||
import org.springframework.boot.health.autoconfigure.contributor.ConditionalOnEnabledHealthIndicator;
|
||||
import org.springframework.boot.health.contributor.HealthContributor;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.health.RabbitHealthIndicator;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
/**
|
||||
* {@link EnableAutoConfiguration Auto-configuration} for {@link RabbitHealthIndicator}.
|
||||
*
|
||||
* @author Christian Dupuis
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
@AutoConfiguration(after = RabbitAutoConfiguration.class)
|
||||
@ConditionalOnClass({ RabbitHealthIndicator.class, RabbitTemplate.class, ConditionalOnEnabledHealthIndicator.class })
|
||||
+1
-1
@@ -18,6 +18,6 @@
|
||||
* Auto-configuration for RabbitMQ health.
|
||||
*/
|
||||
@NullMarked
|
||||
package org.springframework.boot.amqp.autoconfigure.health;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure.health;
|
||||
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure.metrics;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure.metrics;
|
||||
|
||||
import com.rabbitmq.client.ConnectionFactory;
|
||||
import com.rabbitmq.client.MetricsCollector;
|
||||
@@ -24,7 +24,7 @@ import org.jspecify.annotations.Nullable;
|
||||
|
||||
import org.springframework.amqp.rabbit.connection.AbstractConnectionFactory;
|
||||
import org.springframework.beans.factory.config.BeanPostProcessor;
|
||||
import org.springframework.boot.amqp.metrics.RabbitMetrics;
|
||||
import org.springframework.boot.rabbitmq.metrics.RabbitMetrics;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.util.StringUtils;
|
||||
+3
-3
@@ -14,17 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure.metrics;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure.metrics;
|
||||
|
||||
import com.rabbitmq.client.ConnectionFactory;
|
||||
import io.micrometer.core.instrument.MeterRegistry;
|
||||
|
||||
import org.springframework.amqp.rabbit.connection.AbstractConnectionFactory;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
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.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
@@ -33,7 +33,7 @@ import org.springframework.context.annotation.Bean;
|
||||
* {@link ConnectionFactory connection factories}.
|
||||
*
|
||||
* @author Stephane Nicoll
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
@AutoConfiguration(
|
||||
afterName = "org.springframework.boot.micrometer.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration",
|
||||
+1
-1
@@ -18,6 +18,6 @@
|
||||
* Auto-configuration for RabbitMQ metrics.
|
||||
*/
|
||||
@NullMarked
|
||||
package org.springframework.boot.amqp.autoconfigure.metrics;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure.metrics;
|
||||
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
+1
-1
@@ -18,6 +18,6 @@
|
||||
* Auto-configuration for RabbitMQ.
|
||||
*/
|
||||
@NullMarked
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
+7
-7
@@ -14,17 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.docker.compose;
|
||||
package org.springframework.boot.rabbitmq.docker.compose;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConnectionDetails;
|
||||
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.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
|
||||
/**
|
||||
@@ -33,12 +33,12 @@ import org.springframework.boot.ssl.SslBundle;
|
||||
*
|
||||
* @author Andy Wilkinson
|
||||
*/
|
||||
class RabbitDockerComposeConnectionDetailsFactory
|
||||
class RabbitMqDockerComposeConnectionDetailsFactory
|
||||
extends DockerComposeConnectionDetailsFactory<RabbitConnectionDetails> {
|
||||
|
||||
private static final int RABBITMQ_PORT = 5672;
|
||||
|
||||
protected RabbitDockerComposeConnectionDetailsFactory() {
|
||||
protected RabbitMqDockerComposeConnectionDetailsFactory() {
|
||||
super("rabbitmq");
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ class RabbitDockerComposeConnectionDetailsFactory
|
||||
static class RabbitDockerComposeConnectionDetails extends DockerComposeConnectionDetails
|
||||
implements RabbitConnectionDetails {
|
||||
|
||||
private final RabbitEnvironment environment;
|
||||
private final RabbitMqEnvironment environment;
|
||||
|
||||
private final List<Address> addresses;
|
||||
|
||||
@@ -68,7 +68,7 @@ class RabbitDockerComposeConnectionDetailsFactory
|
||||
|
||||
protected RabbitDockerComposeConnectionDetails(RunningService service) {
|
||||
super(service);
|
||||
this.environment = new RabbitEnvironment(service.env());
|
||||
this.environment = new RabbitMqEnvironment(service.env());
|
||||
this.sslBundle = getSslBundle(service);
|
||||
this.addresses = List.of(new Address(service.host(), service.ports().get(RABBITMQ_PORT)));
|
||||
}
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.docker.compose;
|
||||
package org.springframework.boot.rabbitmq.docker.compose;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -28,13 +28,13 @@ import org.jspecify.annotations.Nullable;
|
||||
* @author Phillip Webb
|
||||
* @author Scott Frederick
|
||||
*/
|
||||
class RabbitEnvironment {
|
||||
class RabbitMqEnvironment {
|
||||
|
||||
private final @Nullable String username;
|
||||
|
||||
private final @Nullable String password;
|
||||
|
||||
RabbitEnvironment(Map<String, @Nullable String> env) {
|
||||
RabbitMqEnvironment(Map<String, @Nullable String> env) {
|
||||
this.username = env.getOrDefault("RABBITMQ_DEFAULT_USER", env.getOrDefault("RABBITMQ_USERNAME", "guest"));
|
||||
this.password = env.getOrDefault("RABBITMQ_DEFAULT_PASS", env.getOrDefault("RABBITMQ_PASSWORD", "guest"));
|
||||
}
|
||||
+7
-7
@@ -14,15 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.docker.compose;
|
||||
package org.springframework.boot.rabbitmq.docker.compose;
|
||||
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConnectionDetails;
|
||||
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.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
|
||||
/**
|
||||
@@ -35,10 +35,10 @@ import org.springframework.boot.ssl.SslBundle;
|
||||
* @author Scott Frederick
|
||||
* @author Jay Choi
|
||||
*/
|
||||
class RabbitStreamDockerComposeConnectionDetailsFactory
|
||||
class RabbitMqStreamDockerComposeConnectionDetailsFactory
|
||||
extends DockerComposeConnectionDetailsFactory<RabbitStreamConnectionDetails> {
|
||||
|
||||
protected RabbitStreamDockerComposeConnectionDetailsFactory() {
|
||||
protected RabbitMqStreamDockerComposeConnectionDetailsFactory() {
|
||||
super("rabbitmq");
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ class RabbitStreamDockerComposeConnectionDetailsFactory
|
||||
|
||||
private static final int STREAMS_TLS_PORT = 5551;
|
||||
|
||||
private final RabbitEnvironment environment;
|
||||
private final RabbitMqEnvironment environment;
|
||||
|
||||
private final String host;
|
||||
|
||||
@@ -74,7 +74,7 @@ class RabbitStreamDockerComposeConnectionDetailsFactory
|
||||
|
||||
protected RabbitStreamDockerComposeConnectionDetails(RunningService service) {
|
||||
super(service);
|
||||
this.environment = new RabbitEnvironment(service.env());
|
||||
this.environment = new RabbitMqEnvironment(service.env());
|
||||
this.host = service.host();
|
||||
this.sslBundle = getSslBundle(service);
|
||||
this.port = service.ports().get((this.sslBundle != null) ? STREAMS_TLS_PORT : STREAMS_PORT);
|
||||
+1
-1
@@ -18,6 +18,6 @@
|
||||
* Support for Docker Compose RabbitMQ service connections.
|
||||
*/
|
||||
@NullMarked
|
||||
package org.springframework.boot.amqp.docker.compose;
|
||||
package org.springframework.boot.rabbitmq.docker.compose;
|
||||
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.health;
|
||||
package org.springframework.boot.rabbitmq.health;
|
||||
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
@@ -29,7 +29,7 @@ import org.springframework.util.Assert;
|
||||
* RabbitMQ messaging system.
|
||||
*
|
||||
* @author Christian Dupuis
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public class RabbitHealthIndicator extends AbstractHealthIndicator {
|
||||
|
||||
+1
-1
@@ -18,6 +18,6 @@
|
||||
* Health integration for AMQP and RabbitMQ.
|
||||
*/
|
||||
@NullMarked
|
||||
package org.springframework.boot.amqp.health;
|
||||
package org.springframework.boot.rabbitmq.health;
|
||||
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.metrics;
|
||||
package org.springframework.boot.rabbitmq.metrics;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@@ -32,7 +32,7 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Arnaud Cogoluègnes
|
||||
* @author Stephane Nicoll
|
||||
* @since 4.0.0
|
||||
* @since 4.2.0
|
||||
*/
|
||||
public class RabbitMetrics implements MeterBinder {
|
||||
|
||||
+1
-1
@@ -18,6 +18,6 @@
|
||||
* Metrics for AMQP and RabbitMQ.
|
||||
*/
|
||||
@NullMarked
|
||||
package org.springframework.boot.amqp.metrics;
|
||||
package org.springframework.boot.rabbitmq.metrics;
|
||||
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.testcontainers;
|
||||
package org.springframework.boot.rabbitmq.testcontainers;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.List;
|
||||
@@ -22,7 +22,7 @@ import java.util.List;
|
||||
import org.jspecify.annotations.Nullable;
|
||||
import org.testcontainers.containers.RabbitMQContainer;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory;
|
||||
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource;
|
||||
@@ -37,7 +37,7 @@ import org.springframework.boot.testcontainers.service.connection.ServiceConnect
|
||||
* @author Andy Wilkinson
|
||||
* @author Phillip Webb
|
||||
* @deprecated since 4.0.0 for removal in 4.2.0 in favor of
|
||||
* {@link RabbitContainerConnectionDetailsFactory}.
|
||||
* {@link RabbitMqContainerConnectionDetailsFactory}.
|
||||
*/
|
||||
@Deprecated(since = "4.0.0", forRemoval = true)
|
||||
class DeprecatedRabbitContainerConnectionDetailsFactory
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.testcontainers;
|
||||
package org.springframework.boot.rabbitmq.testcontainers;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.List;
|
||||
@@ -22,7 +22,7 @@ import java.util.List;
|
||||
import org.jspecify.annotations.Nullable;
|
||||
import org.testcontainers.rabbitmq.RabbitMQContainer;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory;
|
||||
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource;
|
||||
@@ -37,7 +37,7 @@ import org.springframework.boot.testcontainers.service.connection.ServiceConnect
|
||||
* @author Andy Wilkinson
|
||||
* @author Phillip Webb
|
||||
*/
|
||||
class RabbitContainerConnectionDetailsFactory
|
||||
class RabbitMqContainerConnectionDetailsFactory
|
||||
extends ContainerConnectionDetailsFactory<RabbitMQContainer, RabbitConnectionDetails> {
|
||||
|
||||
@Override
|
||||
+4
-4
@@ -14,12 +14,12 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.testcontainers;
|
||||
package org.springframework.boot.rabbitmq.testcontainers;
|
||||
|
||||
import org.jspecify.annotations.Nullable;
|
||||
import org.testcontainers.rabbitmq.RabbitMQContainer;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory;
|
||||
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource;
|
||||
@@ -33,10 +33,10 @@ import org.springframework.boot.testcontainers.service.connection.ServiceConnect
|
||||
* @author Eddú Meléndez
|
||||
* @author Jay Choi
|
||||
*/
|
||||
class RabbitStreamContainerConnectionDetailsFactory
|
||||
class RabbitMqStreamContainerConnectionDetailsFactory
|
||||
extends ContainerConnectionDetailsFactory<RabbitMQContainer, RabbitStreamConnectionDetails> {
|
||||
|
||||
RabbitStreamContainerConnectionDetailsFactory() {
|
||||
RabbitMqStreamContainerConnectionDetailsFactory() {
|
||||
super(ANY_CONNECTION_NAME, "org.springframework.rabbit.stream.producer.RabbitStreamTemplate");
|
||||
}
|
||||
|
||||
+1
-1
@@ -18,6 +18,6 @@
|
||||
* Support for testcontainers RabbitMQ service connections.
|
||||
*/
|
||||
@NullMarked
|
||||
package org.springframework.boot.amqp.testcontainers;
|
||||
package org.springframework.boot.rabbitmq.testcontainers;
|
||||
|
||||
import org.jspecify.annotations.NullMarked;
|
||||
@@ -0,0 +1,8 @@
|
||||
# Connection Details Factories
|
||||
org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory=\
|
||||
org.springframework.boot.rabbitmq.docker.compose.RabbitMqDockerComposeConnectionDetailsFactory,\
|
||||
org.springframework.boot.rabbitmq.docker.compose.RabbitMqStreamDockerComposeConnectionDetailsFactory,\
|
||||
org.springframework.boot.rabbitmq.testcontainers.DeprecatedRabbitContainerConnectionDetailsFactory,\
|
||||
org.springframework.boot.rabbitmq.testcontainers.RabbitMqContainerConnectionDetailsFactory,\
|
||||
org.springframework.boot.rabbitmq.testcontainers.RabbitMqStreamContainerConnectionDetailsFactory
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration
|
||||
org.springframework.boot.rabbitmq.autoconfigure.health.RabbitHealthContributorAutoConfiguration
|
||||
org.springframework.boot.rabbitmq.autoconfigure.metrics.RabbitMetricsAutoConfiguration
|
||||
+2
-2
@@ -14,14 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitConnectionDetails.Address;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitConnectionDetails.Address;
|
||||
import org.springframework.boot.ssl.DefaultSslBundleRegistry;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
|
||||
+9
-9
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
@@ -961,7 +961,7 @@ class RabbitAutoConfigurationTests {
|
||||
void enableSslWithBundle() {
|
||||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||
.withPropertyValues("spring.rabbitmq.ssl.bundle=test-bundle",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.location=classpath:org/springframework/boot/amqp/autoconfigure/test.jks",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.location=classpath:org/springframework/boot/rabbitmq/autoconfigure/test.jks",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.password=secret")
|
||||
.run((context) -> {
|
||||
com.rabbitmq.client.ConnectionFactory rabbitConnectionFactory = getTargetConnectionFactory(context);
|
||||
@@ -974,7 +974,7 @@ class RabbitAutoConfigurationTests {
|
||||
void enableSslWithBundleAndWithoutHostnameVerification() {
|
||||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||
.withPropertyValues("spring.rabbitmq.ssl.bundle=test-bundle", "spring.rabbitmq.ssl.verify-hostname=false",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.location=classpath:org/springframework/boot/amqp/autoconfigure/test.jks",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.location=classpath:org/springframework/boot/rabbitmq/autoconfigure/test.jks",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.password=secret")
|
||||
.run((context) -> {
|
||||
com.rabbitmq.client.ConnectionFactory rabbitConnectionFactory = getTargetConnectionFactory(context);
|
||||
@@ -987,9 +987,9 @@ class RabbitAutoConfigurationTests {
|
||||
void enableSslWithKeystoreTypeAndTrustStoreTypeShouldWork() {
|
||||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||
.withPropertyValues("spring.rabbitmq.ssl.enabled:true",
|
||||
"spring.rabbitmq.ssl.key-store=/org/springframework/boot/amqp/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.key-store=/org/springframework/boot/rabbitmq/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.key-store-type=jks", "spring.rabbitmq.ssl.key-store-password=secret",
|
||||
"spring.rabbitmq.ssl.trust-store=/org/springframework/boot/amqp/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.trust-store=/org/springframework/boot/rabbitmq/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.trust-store-type=jks", "spring.rabbitmq.ssl.trust-store-password=secret")
|
||||
.run((context) -> assertThat(context).hasNotFailed());
|
||||
}
|
||||
@@ -1021,10 +1021,10 @@ class RabbitAutoConfigurationTests {
|
||||
void enableSslWithValidStoreAlgorithmShouldWork() {
|
||||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||
.withPropertyValues("spring.rabbitmq.ssl.enabled:true",
|
||||
"spring.rabbitmq.ssl.key-store=/org/springframework/boot/amqp/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.key-store=/org/springframework/boot/rabbitmq/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.key-store-type=jks", "spring.rabbitmq.ssl.key-store-password=secret",
|
||||
"spring.rabbitmq.ssl.key-store-algorithm=PKIX",
|
||||
"spring.rabbitmq.ssl.trust-store=/org/springframework/boot/amqp/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.trust-store=/org/springframework/boot/rabbitmq/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.trust-store-type=jks", "spring.rabbitmq.ssl.trust-store-password=secret",
|
||||
"spring.rabbitmq.ssl.trust-store-algorithm=PKIX")
|
||||
.run((context) -> assertThat(context).hasNotFailed());
|
||||
@@ -1034,7 +1034,7 @@ class RabbitAutoConfigurationTests {
|
||||
void enableSslWithInvalidKeyStoreAlgorithmShouldFail() {
|
||||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||
.withPropertyValues("spring.rabbitmq.ssl.enabled:true",
|
||||
"spring.rabbitmq.ssl.key-store=/org/springframework/boot/amqp/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.key-store=/org/springframework/boot/rabbitmq/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.key-store-type=jks", "spring.rabbitmq.ssl.key-store-password=secret",
|
||||
"spring.rabbitmq.ssl.key-store-algorithm=test-invalid-algo")
|
||||
.run((context) -> {
|
||||
@@ -1048,7 +1048,7 @@ class RabbitAutoConfigurationTests {
|
||||
void enableSslWithInvalidTrustStoreAlgorithmShouldFail() {
|
||||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||
.withPropertyValues("spring.rabbitmq.ssl.enabled:true",
|
||||
"spring.rabbitmq.ssl.trust-store=/org/springframework/boot/amqp/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.trust-store=/org/springframework/boot/rabbitmq/autoconfigure/test.jks",
|
||||
"spring.rabbitmq.ssl.trust-store-type=jks", "spring.rabbitmq.ssl.trust-store-password=secret",
|
||||
"spring.rabbitmq.ssl.trust-store-algorithm=test-invalid-algo")
|
||||
.run((context) -> {
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+4
-4
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.List;
|
||||
@@ -34,9 +34,9 @@ import org.springframework.amqp.rabbit.config.ContainerCustomizer;
|
||||
import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory;
|
||||
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistry;
|
||||
import org.springframework.amqp.support.converter.MessageConverter;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitStreamConfiguration.PropertiesRabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitStreamConfiguration.PropertiesRabbitStreamConnectionDetails;
|
||||
import org.springframework.boot.ssl.NoSuchSslBundleException;
|
||||
import org.springframework.boot.ssl.SslBundle;
|
||||
import org.springframework.boot.ssl.SslBundles;
|
||||
@@ -352,7 +352,7 @@ class RabbitStreamConfigurationTests {
|
||||
@Test
|
||||
void whenStreamSslBundleIsConfiguredThenTlsIsUsed() {
|
||||
this.contextRunner.withPropertyValues("spring.rabbitmq.stream.ssl.bundle=test-bundle",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.location=classpath:org/springframework/boot/amqp/autoconfigure/test.jks",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.location=classpath:org/springframework/boot/rabbitmq/autoconfigure/test.jks",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.password=secret")
|
||||
.run((context) -> {
|
||||
assertThat(context).hasNotFailed();
|
||||
@@ -388,7 +388,7 @@ class RabbitStreamConfigurationTests {
|
||||
void whenConnectionDetailsSslBundleIsProvidedThenTlsIsUsedWithoutProperties() {
|
||||
this.contextRunner.withUserConfiguration(CustomConnectionDetails.class)
|
||||
.withPropertyValues(
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.location=classpath:org/springframework/boot/amqp/autoconfigure/test.jks",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.location=classpath:org/springframework/boot/rabbitmq/autoconfigure/test.jks",
|
||||
"spring.ssl.bundle.jks.test-bundle.keystore.password=secret")
|
||||
.run((context) -> {
|
||||
assertThat(context).hasNotFailed();
|
||||
+3
-3
@@ -14,14 +14,14 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure.health;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure.health;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.amqp.health.RabbitHealthIndicator;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.health.autoconfigure.contributor.HealthContributorAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.health.RabbitHealthIndicator;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure.metrics;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure.metrics;
|
||||
|
||||
import io.micrometer.core.instrument.MeterRegistry;
|
||||
import io.micrometer.core.instrument.binder.MeterBinder;
|
||||
@@ -22,8 +22,8 @@ import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.micrometer.metrics.autoconfigure.MetricsAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
+2
-2
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.autoconfigure.metrics;
|
||||
package org.springframework.boot.rabbitmq.autoconfigure.metrics;
|
||||
|
||||
import io.micrometer.core.instrument.MeterRegistry;
|
||||
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
|
||||
@@ -22,9 +22,9 @@ import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
|
||||
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
|
||||
import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.micrometer.metrics.autoconfigure.MetricsAutoConfiguration;
|
||||
import org.springframework.boot.rabbitmq.autoconfigure.RabbitAutoConfiguration;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
+15
-15
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.docker.compose;
|
||||
package org.springframework.boot.rabbitmq.docker.compose;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
@@ -24,48 +24,48 @@ import org.junit.jupiter.api.Test;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Tests for {@link RabbitEnvironment}.
|
||||
* Tests for {@link RabbitMqEnvironment}.
|
||||
*
|
||||
* @author Moritz Halbritter
|
||||
* @author Andy Wilkinson
|
||||
* @author Phillip Webb
|
||||
* @author Scott Frederick
|
||||
*/
|
||||
class RabbitEnvironmentTests {
|
||||
class RabbitMqEnvironmentTests {
|
||||
|
||||
@Test
|
||||
void getUsernameWhenNoRabbitmqDefaultUser() {
|
||||
RabbitEnvironment environment = new RabbitEnvironment(Collections.emptyMap());
|
||||
void getUsernameWhenNoRabbitMqDefaultUser() {
|
||||
RabbitMqEnvironment environment = new RabbitMqEnvironment(Collections.emptyMap());
|
||||
assertThat(environment.getUsername()).isEqualTo("guest");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getUsernameWhenHasRabbitmqDefaultUser() {
|
||||
RabbitEnvironment environment = new RabbitEnvironment(Map.of("RABBITMQ_DEFAULT_USER", "me"));
|
||||
void getUsernameWhenHasRabbitMqDefaultUser() {
|
||||
RabbitMqEnvironment environment = new RabbitMqEnvironment(Map.of("RABBITMQ_DEFAULT_USER", "me"));
|
||||
assertThat(environment.getUsername()).isEqualTo("me");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getUsernameWhenHasRabbitmqUsername() {
|
||||
RabbitEnvironment environment = new RabbitEnvironment(Map.of("RABBITMQ_USERNAME", "me"));
|
||||
void getUsernameWhenHasRabbitMqUsername() {
|
||||
RabbitMqEnvironment environment = new RabbitMqEnvironment(Map.of("RABBITMQ_USERNAME", "me"));
|
||||
assertThat(environment.getUsername()).isEqualTo("me");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getUsernameWhenNoRabbitmqDefaultPass() {
|
||||
RabbitEnvironment environment = new RabbitEnvironment(Collections.emptyMap());
|
||||
void getUsernameWhenNoRabbitMqDefaultPass() {
|
||||
RabbitMqEnvironment environment = new RabbitMqEnvironment(Collections.emptyMap());
|
||||
assertThat(environment.getPassword()).isEqualTo("guest");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getUsernameWhenHasRabbitmqDefaultPass() {
|
||||
RabbitEnvironment environment = new RabbitEnvironment(Map.of("RABBITMQ_DEFAULT_PASS", "secret"));
|
||||
void getUsernameWhenHasRabbitMqDefaultPass() {
|
||||
RabbitMqEnvironment environment = new RabbitMqEnvironment(Map.of("RABBITMQ_DEFAULT_PASS", "secret"));
|
||||
assertThat(environment.getPassword()).isEqualTo("secret");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getUsernameWhenHasRabbitmqPassword() {
|
||||
RabbitEnvironment environment = new RabbitEnvironment(Map.of("RABBITMQ_PASSWORD", "secret"));
|
||||
void getUsernameWhenHasRabbitMqPassword() {
|
||||
RabbitMqEnvironment environment = new RabbitMqEnvironment(Map.of("RABBITMQ_PASSWORD", "secret"));
|
||||
assertThat(environment.getPassword()).isEqualTo("secret");
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.health;
|
||||
package org.springframework.boot.rabbitmq.health;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.amqp.metrics;
|
||||
package org.springframework.boot.rabbitmq.metrics;
|
||||
|
||||
import com.rabbitmq.client.ConnectionFactory;
|
||||
import io.micrometer.core.instrument.Tags;
|
||||
Reference in New Issue
Block a user