Package version:

Interface ServiceBusSessionReceiverOptions

Describes the options passed to the acceptSession and acceptNextSession methods when using a Queue/Subscription that has sessions enabled.

interface ServiceBusSessionReceiverOptions {
    abortSignal: OperationOptions;
    identifier?: string;
    maxAutoLockRenewalDurationInMs?: number;
    receiveMode?: "peekLock" | "receiveAndDelete";
    skipConvertingDate?: boolean;
    skipParsingBodyAsJson?: boolean;
    tracingOptions: OperationOptions;
}

Hierarchy (view full)

Properties

abortSignal: OperationOptions
identifier?: string

Sets the name to identify the session receiver. This can be used to correlate logs and exceptions. If not specified or empty, a random unique one will be used.

maxAutoLockRenewalDurationInMs?: number

The maximum duration, in milliseconds, that the lock on the session will be renewed automatically by the client.

  • Default: 300000 milliseconds (5 minutes).
  • To disable autolock renewal, set this to 0.

Example:

If the lock expires in 2 minutes and your processing time is 8 minutes...

Set maxAutoLockRenewalDurationInMs to 10 minutes, and the lock will be automatically renewed about 4 times (equivalent to having the session locked for 4 times its lock duration by leveraging the lock renewals).

receiveMode?: "peekLock" | "receiveAndDelete"

Represents the receive mode for the receiver.

In receiveAndDelete mode, messages are deleted from Service Bus as they are received.

In peekLock mode, the receiver has a lock on the message for the duration specified on the queue/subscription.

Messages that are not settled within the lock duration will be redelivered as many times as the max delivery count set on the queue/subscription, after which they get sent to a separate dead letter queue.

You can settle a message by calling complete(), abandon(), defer() or deadletter() methods on the message.

More information about how peekLock and message settlement works here: https://docs.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock

skipConvertingDate?: boolean

Whether to skip converting Date type on properties of message annotations or application properties into numbers when receiving the message. By default, properties of Date type is converted into UNIX epoch number for compatibility.

skipParsingBodyAsJson?: boolean

Option to disable the client from running JSON.parse() on the message body when receiving the message. Not applicable if the message was sent with AMQP body type value or sequence. Use this option when you prefer to work directly with the bytes present in the message body than have the client attempt to parse it.

tracingOptions: OperationOptions

Generated using TypeDoc