Skip to content

Releases: LuccaSA/MerQure

v1.0.0

19 Jun 15:06
da2b77d

Choose a tag to compare

What's Changed

Full Changelog: v0.7.0...v1.0.0

BREAKING change details

De nombreuse signatures passent "async" pour coller au nouveau fonctionnement de la lib RabbitMqClient.

v0.7.0

13 Feb 17:46
0ebf680

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.8...v0.7.0

BREAKING change details

To simplify the transition to quorum queues, this version adds a boolean isQuorum where necessary (i.e., in all DeclareQueueXxx methods).

For example, in IMessagingService:

void DeclareQueue(string queueName, Dictionary<string, object> queueArgs, bool isQuorum)

Setting isQuorum to true:

  1. Adds ["x-queue-type"]="quorum" to the queueArgs.
  2. Appends "-q" to the passed queueName.

The second point is necessary because it is not possible to recreate a queue with the same name without first destroying the previous one.

It was decided not to set a default value for isQuorum to make this version a breaking change and force a choice.

When setting IsQuorum to true, name given to the queue is now queueName + "-q". Since the queueName provided as a parameter is no longer always the name given to the queue, the effectiveQueueName (with effectiveQueueName = isQuorum ? queueName + "-q" : queueName) is returned by all DeclareQueueXxx methods.

This returned value should be used, for example, to declare bindings as done in:

private void CreateMainExchange(RetryStrategyConfiguration configuration, bool isQuorum)
{
    _messagingService.DeclareExchange(configuration.BusName, Constants.ExchangeTypeTopic);
    foreach (Channel channel in configuration.Channels)
    {
        var effectiveQueueName = _messagingService.DeclareQueue(channel.Value, isQuorum);
        _messagingService.DeclareBinding(configuration.BusName, effectiveQueueName, $"{channel.Value}.#");
    }
}

WARNING: Quorum queues must be durable and non-auto-delete. If isQuorum is set to true in a DeclareQueueXxx method for a queue that is not, you will get:

throw new ArgumentException("Quorum queues must be durable and non-auto-delete")

fix MerQure.Tools release

09 Apr 07:34
b97f294

Choose a tag to compare

Fix null header

22 Mar 08:48
e5d8500

Choose a tag to compare

Merge pull request #36 from LuccaSA/FIX.HeaderNull

[FIX] Header could be null

Support for multiple hosts

08 Feb 19:06

Choose a tag to compare

New parameters & binding null

12 Dec 15:38
1760a70

Choose a tag to compare

Merge pull request #29 from LuccaSA/fix.empty-routingKey

[FIX] An empty routing key should not throw ArgumentNullException

connection.friendlyName

21 Nov 17:31
c2ed6f7

Choose a tag to compare

Merge pull request #28 from LuccaSA/connection.name

Connection.name

SharedConnection IDisposable

25 Sep 14:16
e6f6ebe

Choose a tag to compare

Merge pull request #26 from LuccaSA/connection.disposable

[Fix] SharedConnection is now disposable to close RbMQ connection

Integration of MerQure.Tools

25 Sep 08:29
bc9cf5e

Choose a tag to compare

Merge pull request #25 from LuccaSA/MerQure.Tools.BuildConf

[ADD] ajout de config pour le versionning & build

Parellel consuming

08 Aug 09:55
ff04d4f

Choose a tag to compare

Merge pull request #22 from LuccaSA/Fix.consumerLock

[Fix] Remove static lock for parallel consuming