Merge pull request #10978 from ArloL:pr-rabbit-properties
* pr/10978: Polish "Make RabbitTemplate exchange and routingKey configurable" Make RabbitTemplate exchange and routingKey configurable
This commit is contained in:
commit
99d467e93c
|
|
@ -188,6 +188,8 @@ public class RabbitAutoConfiguration {
|
||||||
if (templateProperties.getReplyTimeout() != null) {
|
if (templateProperties.getReplyTimeout() != null) {
|
||||||
rabbitTemplate.setReplyTimeout(templateProperties.getReplyTimeout());
|
rabbitTemplate.setReplyTimeout(templateProperties.getReplyTimeout());
|
||||||
}
|
}
|
||||||
|
rabbitTemplate.setExchange(templateProperties.getExchange());
|
||||||
|
rabbitTemplate.setRoutingKey(templateProperties.getRoutingKey());
|
||||||
return rabbitTemplate;
|
return rabbitTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -703,6 +703,16 @@ public class RabbitProperties {
|
||||||
*/
|
*/
|
||||||
private Long replyTimeout;
|
private Long replyTimeout;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Name of the default exchange to use for send operations.
|
||||||
|
*/
|
||||||
|
private String exchange = "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Value of a default routing key to use for send operations.
|
||||||
|
*/
|
||||||
|
private String routingKey = "";
|
||||||
|
|
||||||
public Retry getRetry() {
|
public Retry getRetry() {
|
||||||
return this.retry;
|
return this.retry;
|
||||||
}
|
}
|
||||||
|
|
@ -731,6 +741,22 @@ public class RabbitProperties {
|
||||||
this.replyTimeout = replyTimeout;
|
this.replyTimeout = replyTimeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getExchange() {
|
||||||
|
return this.exchange;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setExchange(String exchange) {
|
||||||
|
this.exchange = exchange;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRoutingKey() {
|
||||||
|
return this.routingKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRoutingKey(String routingKey) {
|
||||||
|
this.routingKey = routingKey;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Retry {
|
public static class Retry {
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,19 @@ public class RabbitAutoConfigurationTests {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDefaultRabbitTemplateConfiguration() {
|
||||||
|
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||||
|
.run((context) -> {
|
||||||
|
RabbitTemplate rabbitTemplate = context.getBean(RabbitTemplate.class);
|
||||||
|
RabbitTemplate defaultRabbitTemplate = new RabbitTemplate();
|
||||||
|
assertThat(rabbitTemplate.getRoutingKey())
|
||||||
|
.isEqualTo(defaultRabbitTemplate.getRoutingKey());
|
||||||
|
assertThat(rabbitTemplate.getExchange())
|
||||||
|
.isEqualTo(defaultRabbitTemplate.getExchange());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testConnectionFactoryWithOverrides() {
|
public void testConnectionFactoryWithOverrides() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||||
|
|
@ -224,6 +237,18 @@ public class RabbitAutoConfigurationTests {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRabbitTemplateExchangeAndRoutingKey() {
|
||||||
|
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||||
|
.withPropertyValues("spring.rabbitmq.template.exchange:my-exchange",
|
||||||
|
"spring.rabbitmq.template.routing-key:my-routing-key")
|
||||||
|
.run((context) -> {
|
||||||
|
RabbitTemplate rabbitTemplate = context.getBean(RabbitTemplate.class);
|
||||||
|
assertThat(rabbitTemplate.getExchange()).isEqualTo("my-exchange");
|
||||||
|
assertThat(rabbitTemplate.getRoutingKey()).isEqualTo("my-routing-key");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRabbitTemplateMandatory() {
|
public void testRabbitTemplateMandatory() {
|
||||||
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
this.contextRunner.withUserConfiguration(TestConfiguration.class)
|
||||||
|
|
|
||||||
|
|
@ -1058,6 +1058,7 @@ content into your application. Rather, pick only the properties that you need.
|
||||||
spring.rabbitmq.ssl.trust-store-password= # Password used to access the trust store.
|
spring.rabbitmq.ssl.trust-store-password= # Password used to access the trust store.
|
||||||
spring.rabbitmq.ssl.trust-store-type=JKS # Trust store type.
|
spring.rabbitmq.ssl.trust-store-type=JKS # Trust store type.
|
||||||
spring.rabbitmq.ssl.algorithm= # SSL algorithm to use. By default, configured by the Rabbit client library.
|
spring.rabbitmq.ssl.algorithm= # SSL algorithm to use. By default, configured by the Rabbit client library.
|
||||||
|
spring.rabbitmq.template.exchange= # Name of the default exchange to use for send operations.
|
||||||
spring.rabbitmq.template.mandatory=false # Whether to enable mandatory messages.
|
spring.rabbitmq.template.mandatory=false # Whether to enable mandatory messages.
|
||||||
spring.rabbitmq.template.receive-timeout=0 # Timeout for `receive()` methods.
|
spring.rabbitmq.template.receive-timeout=0 # Timeout for `receive()` methods.
|
||||||
spring.rabbitmq.template.reply-timeout=5000 # Timeout for `sendAndReceive()` methods.
|
spring.rabbitmq.template.reply-timeout=5000 # Timeout for `sendAndReceive()` methods.
|
||||||
|
|
@ -1066,6 +1067,7 @@ content into your application. Rather, pick only the properties that you need.
|
||||||
spring.rabbitmq.template.retry.max-attempts=3 # Maximum number of attempts to publish a message.
|
spring.rabbitmq.template.retry.max-attempts=3 # Maximum number of attempts to publish a message.
|
||||||
spring.rabbitmq.template.retry.max-interval=10000 # Maximum number of attempts to publish a message.
|
spring.rabbitmq.template.retry.max-interval=10000 # Maximum number of attempts to publish a message.
|
||||||
spring.rabbitmq.template.retry.multiplier=1.0 # Multiplier to apply to the previous publishing retry interval.
|
spring.rabbitmq.template.retry.multiplier=1.0 # Multiplier to apply to the previous publishing retry interval.
|
||||||
|
spring.rabbitmq.template.routing-key= # Value of a default routing key to use for send operations.
|
||||||
spring.rabbitmq.username= # Login user to authenticate to the broker.
|
spring.rabbitmq.username= # Login user to authenticate to the broker.
|
||||||
spring.rabbitmq.virtual-host= # Virtual host to use when connecting to the broker.
|
spring.rabbitmq.virtual-host= # Virtual host to use when connecting to the broker.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue