GH-48: Revert to Durable Exchanges by Default

Fixes #48

The commit for #34 inadvertently set the exchange to be non-durable (won't survive a
broker restart).

Revert to durable exchanges by default and add a configuration option.

Also add an option to auto-delete the exchange.

Fix clean up of custom dead letter exchange in tests.

Clean up some compiler warnings.

Revert Deprecated Import

Document New Properties

Also fix sort and name of `bindingRoutingKey` on the producer side.
This commit is contained in:
Gary Russell
2017-02-26 11:54:47 -05:00
committed by Marius Bogoevici
parent e73e936e1e
commit 73908352f3
6 changed files with 71 additions and 17 deletions

View File

@@ -100,6 +100,11 @@ autoBindDlq::
Whether to automatically declare the DLQ and bind it to the binder DLX.
+
Default: `false`.
bindingRoutingKey::
The routing key with which to bind the queue to the exchange (if `bindQueue` is `true`).
for partitioned destinations `-<instanceIndex>` will be appended.
+
Default: `#`.
bindQueue::
Whether to bind the queue to the destination exchange; set to `false` if you have set up your own infrastructure and have previously created/bound the queue.
+
@@ -158,11 +163,14 @@ durableSubscription::
Only effective if `group` is also set.
+
Default: `true`.
bindingRoutingKey::
The routing key with which to bind the queue to the exchange (if `bindQueue` is `true`).
for partitioned destinations `-<instanceIndex>` will be appended.
exchangeAutoDelete::
If `declareExchange` is true, whether the exchange should be auto-delete (removed after the last queue is removed).
+
Default: `#`.
Default: `true`.
exchangeDurable::
If `declareExchange` is true, whether the exchange should be durable (survives broker restart).
+
Default: `true`.
exchangeType::
The exchange type; `direct`, `fanout` or `topic` for non-partitioned destinations; `direct` or `topic` for partitioned destinations.
+
@@ -251,6 +259,12 @@ batchBufferLimit::
Default: `10000`.
batchTimeout::
Default: `5000`.
bindingRoutingKey::
The routing key with which to bind the queue to the exchange (if `bindQueue` is `true`).
Only applies to non-partitioned destinations.
Only applies if `requiredGroups` are provided and then only to those groups.
+
Default: `#`.
bindQueue::
Whether to bind the queue to the destination exchange; set to `false` if you have set up your own infrastructure and have previously created/bound the queue.
Only applies if `requiredGroups` are provided and then only to those groups.
@@ -327,12 +341,14 @@ dlqTtl::
Only applies if `requiredGroups` are provided and then only to those groups.
+
Default: `no limit`
exchangeRoutingKey::
The routing key with which to bind the queue to the exchange (if `bindQueue` is `true`).
Only applies to non-partitioned destinations.
Only applies if `requiredGroups` are provided and then only to those groups.
exchangeAutoDelete::
If `declareExchange` is true, whether the exchange should be auto-delete (removed after the last queue is removed).
+
Default: `#`.
Default: `true`.
exchangeDurable::
If `declareExchange` is true, whether the exchange should be durable (survives broker restart).
+
Default: `true`.
exchangeType::
The exchange type; `direct`, `fanout` or `topic` for non-partitioned destinations; `direct` or `topic` for partitioned destinations.
+