Merge pull request #14252 from nosan:gh-14122
* pr/14252: Polish "Add support for configuring missingQueuesFatal property" Add support for configuring missingQueuesFatal property
This commit is contained in:
commit
9b9a8888b4
|
@ -116,6 +116,9 @@ public abstract class AbstractRabbitListenerContainerFactoryConfigurer<T extends
|
|||
if (configuration.getIdleEventInterval() != null) {
|
||||
factory.setIdleEventInterval(configuration.getIdleEventInterval().toMillis());
|
||||
}
|
||||
if (configuration.getMissingQueuesFatal() != null) {
|
||||
factory.setMissingQueuesFatal(configuration.getMissingQueuesFatal());
|
||||
}
|
||||
ListenerRetry retryConfig = configuration.getRetry();
|
||||
if (retryConfig.isEnabled()) {
|
||||
RetryInterceptorBuilder<?> builder = (retryConfig.isStateless())
|
||||
|
|
|
@ -592,6 +592,12 @@ public class RabbitProperties {
|
|||
*/
|
||||
private Duration idleEventInterval;
|
||||
|
||||
/**
|
||||
* Whether to fail if the queues declared by the container are not available on
|
||||
* the broker.
|
||||
*/
|
||||
private Boolean missingQueuesFatal;
|
||||
|
||||
/**
|
||||
* Optional properties for a retry interceptor.
|
||||
*/
|
||||
|
@ -637,6 +643,14 @@ public class RabbitProperties {
|
|||
this.idleEventInterval = idleEventInterval;
|
||||
}
|
||||
|
||||
public Boolean getMissingQueuesFatal() {
|
||||
return this.missingQueuesFatal;
|
||||
}
|
||||
|
||||
public void setMissingQueuesFatal(Boolean missingQueuesFatal) {
|
||||
this.missingQueuesFatal = missingQueuesFatal;
|
||||
}
|
||||
|
||||
public ListenerRetry getRetry() {
|
||||
return this.retry;
|
||||
}
|
||||
|
|
|
@ -469,6 +469,7 @@ public class RabbitAutoConfigurationTests {
|
|||
"spring.rabbitmq.listener.simple.prefetch:40",
|
||||
"spring.rabbitmq.listener.simple.defaultRequeueRejected:false",
|
||||
"spring.rabbitmq.listener.simple.idleEventInterval:5",
|
||||
"spring.rabbitmq.listener.simple.missingQueuesFatal:false",
|
||||
"spring.rabbitmq.listener.simple.transactionSize:20")
|
||||
.run((context) -> {
|
||||
SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory = context
|
||||
|
@ -500,7 +501,8 @@ public class RabbitAutoConfigurationTests {
|
|||
"spring.rabbitmq.listener.direct.consumers-per-queue:5",
|
||||
"spring.rabbitmq.listener.direct.prefetch:40",
|
||||
"spring.rabbitmq.listener.direct.defaultRequeueRejected:false",
|
||||
"spring.rabbitmq.listener.direct.idleEventInterval:5")
|
||||
"spring.rabbitmq.listener.direct.idleEventInterval:5",
|
||||
"spring.rabbitmq.listener.direct.missingQueuesFatal:false")
|
||||
.run((context) -> {
|
||||
DirectRabbitListenerContainerFactory rabbitListenerContainerFactory = context
|
||||
.getBean("rabbitListenerContainerFactory",
|
||||
|
@ -624,6 +626,7 @@ public class RabbitAutoConfigurationTests {
|
|||
assertThat(dfa.getPropertyValue("defaultRequeueRejected"))
|
||||
.isEqualTo(Boolean.FALSE);
|
||||
assertThat(dfa.getPropertyValue("idleEventInterval")).isEqualTo(5L);
|
||||
assertThat(dfa.getPropertyValue("missingQueuesFatal")).isEqualTo(false);
|
||||
Advice[] adviceChain = (Advice[]) dfa.getPropertyValue("adviceChain");
|
||||
assertThat(adviceChain).isNotNull();
|
||||
assertThat(adviceChain.length).isEqualTo(1);
|
||||
|
|
|
@ -1137,6 +1137,7 @@ content into your application. Rather, pick only the properties that you need.
|
|||
spring.rabbitmq.listener.direct.consumers-per-queue= # Number of consumers per queue.
|
||||
spring.rabbitmq.listener.direct.default-requeue-rejected= # Whether rejected deliveries are re-queued by default.
|
||||
spring.rabbitmq.listener.direct.idle-event-interval= # How often idle container events should be published.
|
||||
spring.rabbitmq.listener.direct.missing-queues-fatal= # Whether to fail if the queues declared by the container are not available on the broker.
|
||||
spring.rabbitmq.listener.direct.prefetch= # Number of messages to be handled in a single request. It should be greater than or equal to the transaction size (if used).
|
||||
spring.rabbitmq.listener.direct.retry.enabled=false # Whether publishing retries are enabled.
|
||||
spring.rabbitmq.listener.direct.retry.initial-interval=1000ms # Duration between the first and second attempt to deliver a message.
|
||||
|
@ -1150,6 +1151,7 @@ content into your application. Rather, pick only the properties that you need.
|
|||
spring.rabbitmq.listener.simple.default-requeue-rejected= # Whether rejected deliveries are re-queued by default.
|
||||
spring.rabbitmq.listener.simple.idle-event-interval= # How often idle container events should be published.
|
||||
spring.rabbitmq.listener.simple.max-concurrency= # Maximum number of listener invoker threads.
|
||||
spring.rabbitmq.listener.simple.missing-queues-fatal= # Whether to fail if the queues declared by the container are not available on the broker.
|
||||
spring.rabbitmq.listener.simple.prefetch= # Number of messages to be handled in a single request. It should be greater than or equal to the transaction size (if used).
|
||||
spring.rabbitmq.listener.simple.retry.enabled=false # Whether publishing retries are enabled.
|
||||
spring.rabbitmq.listener.simple.retry.initial-interval=1000ms # Duration between the first and second attempt to deliver a message.
|
||||
|
|
Loading…
Reference in New Issue