Skip to content

v4.0.0: Setting Expansions And Deprecations

Latest
Compare
Choose a tag to compare
@toka-p toka-p released this 10 Jan 06:28
· 8 commits to master since this release
b8542a6

What's Changed

deprecate legacy projects

Legacy projects were exclusively for generating assemblies for .net framework 4.5. Latest framework supported is now 4.8 and 4.5 support is removed.

Added timestamp support to received messages

User can configure via appsettings.json whether an arrival timestamp is added to every received message. By default timestamp is not added but needs to be configured separately either via settings file or AzureBusTopicSettings.cs.

{
    "Logging": {
        "LogLevel": {
            "Default": "Information"
        }
    },
    "MessagingSettings": {
        ...
        "AddArrival": true
    }
}

Arrival time is of type nullable long and the value is unix time in milliseconds. It appears in the data payload as a field rxmqarrival.

[JsonProperty("rxmqarrival")]
public long? RxMqArrival { get; set; }

Add support for Topic settings PrefetchCount and ReceiveMode

Allow consumer to configure either generally or topic by topic bases PrefetchCount and ReceiveMode for Topic Subscription Client. PrefetchCount allows consumer to control how many messages are received from topic at once. ReceiveMode controls how does the subscription client behave in regards to receiving messages. There are two modes currently supported:

  • PeekLock means Service Bus will wait for confirmation from client that messages has been received
  • ReceiveAndDelete means Service Bus will delete message as soon as it has departed the topic regardless of client status

Defaults to 0 and PeekLock.

Default settings example:

{
    "Logging": {
        "LogLevel": {
            "Default": "Information"
        }
    },
    "MessagingSettings": {
        ...
        "DefaultPrefetchCount": 0,
        "DefaultReceiveMode": "PeekLock"
    }
}

To determine PrefetchCount and ReceiveMode on topic basis, implement IConfigurableTopicItem interface.

Full Changelog: 3.1.0...4.0.0