GH-274: singleActiveConsumer and arbitrary args
Resolves https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/274 Add support for `x-single-active-consumer` as well as setting arbitrary arguments on queues/exchanges/bindings. Update build version; remove temporary overrides Resolves #276
This commit is contained in:
committed by
Oleg Zhurakousky
parent
9e50913454
commit
401cda1bf3
@@ -122,7 +122,6 @@ in the format of `spring.cloud.stream.rabbit.default.<property>=<value>`.
|
||||
|
||||
Also, keep in mind that binding specific property will override its equivalent in the default.
|
||||
|
||||
|
||||
acknowledgeMode::
|
||||
The acknowledge mode.
|
||||
+
|
||||
@@ -248,6 +247,10 @@ dlqQuorum.initialQuorumSize::
|
||||
When `quorum.enabled=true`, set the initial quorum size.
|
||||
+
|
||||
Default: none - broker default will apply.
|
||||
dlqSingleActiveConsumer::
|
||||
Set to true to set the `x-single-active-consumer` queue property to true.
|
||||
+
|
||||
Default: `false`
|
||||
dlqTtl::
|
||||
Default time to live to apply to the dead letter queue when declared (in milliseconds).
|
||||
+
|
||||
@@ -274,6 +277,7 @@ Whether to create an exclusive consumer.
|
||||
Concurrency should be 1 when this is `true`.
|
||||
Often used when strict ordering is required but enabling a hot standby instance to take over after a failure.
|
||||
See `recoveryInterval`, which controls how often a standby instance attempts to consume.
|
||||
Consider using `singleActiveConsumer` instead when using RabbitMQ 3.8 or later.
|
||||
+
|
||||
Default: `false`.
|
||||
expires::
|
||||
@@ -386,6 +390,10 @@ If set to `true`, the binder republishs failed messages to the DLQ with addition
|
||||
Also see the <<spring-cloud-stream-rabbit-frame-max-headroom, frameMaxHeadroom property>>.
|
||||
+
|
||||
Default: false
|
||||
singleActiveConsumer::
|
||||
Set to true to set the `x-single-active-consumer` queue property to true.
|
||||
+
|
||||
Default: `false`
|
||||
transacted::
|
||||
Whether to use transacted channels.
|
||||
+
|
||||
@@ -406,6 +414,13 @@ To set listener container properties that are not exposed as binder or binding p
|
||||
The binder and binding properties will be set and then the customizer will be called.
|
||||
The customizer (`configure()` method) is provided with the queue name as well as the consumer group as arguments.
|
||||
|
||||
=== Advanced Queue/Exchange/Binding Configuration
|
||||
|
||||
From time to time, the RabbitMQ team add new features that are enabled by setting some argument when declaring, for example, a queue.
|
||||
Generally, such features are enabled in the binder by adding appropriate properties, but this may not be immediately available in a current version.
|
||||
Starting with version 3.0.1, you can now add `DeclarableCustomizer` bean(s) to the application context to modify a `Declarable` (`Queue`, `Exchange` or `Binding`) just before the declaration is performed.
|
||||
This allows you to add arguments that are not currently directly supported by the binder.
|
||||
|
||||
[[rabbit-receiving-batch]]
|
||||
=== Receiving Batched Messages
|
||||
|
||||
@@ -581,6 +596,11 @@ When `quorum.enabled=true`, set the initial quorum size.
|
||||
Applies only when `requiredGroups` are provided and then only to those groups.
|
||||
+
|
||||
Default: none - broker default will apply.
|
||||
dlqSingleActiveConsumer::
|
||||
Set to true to set the `x-single-active-consumer` queue property to true.
|
||||
Applies only when `requiredGroups` are provided and then only to those groups.
|
||||
+
|
||||
Default: `false`
|
||||
dlqTtl::
|
||||
Default time (in milliseconds) to live to apply to the dead letter queue when declared.
|
||||
Applies only when `requiredGroups` are provided and then only to those groups.
|
||||
@@ -666,6 +686,11 @@ A SpEL expression to determine the routing key to use when publishing messages.
|
||||
For a fixed routing key, use a literal expression, such as `routingKeyExpression='my.routingKey'` in a properties file or `routingKeyExpression: '''my.routingKey'''` in a YAML file.
|
||||
+
|
||||
Default: `destination` or `destination-<partition>` for partitioned destinations.
|
||||
singleActiveConsumer::
|
||||
Set to true to set the `x-single-active-consumer` queue property to true.
|
||||
Applies only when `requiredGroups` are provided and then only to those groups.
|
||||
+
|
||||
Default: `false`
|
||||
transacted::
|
||||
Whether to use transacted channels.
|
||||
+
|
||||
|
||||
Reference in New Issue
Block a user