Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions sdk/servicebus/service-bus/src/core/managementClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -726,6 +726,7 @@ export class ManagementClient extends LinkEntity {
async updateDispositionStatus(
lockToken: string,
dispositionStatus: DispositionStatus,
associatedLinkName?: string,
options?: DispositionStatusOptions
): Promise<void> {
throwErrorIfConnectionClosed(this._context.namespace);
Expand Down Expand Up @@ -757,6 +758,9 @@ export class ManagementClient extends LinkEntity {
operation: Constants.operations.updateDisposition
}
};
if (associatedLinkName) {
request.application_properties![Constants.associatedLinkName] = associatedLinkName;
}
request.application_properties![Constants.trackingId] = generate_uuid();
log.mgmt(
"[%s] Update disposition status request body: %O.",
Expand Down
48 changes: 48 additions & 0 deletions sdk/servicebus/service-bus/src/serviceBusMessage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -817,9 +817,21 @@ export class ServiceBusMessage implements ReceivedMessage {
this.messageId
);
if (this._context.requestResponseLockedMessages.has(this.lockToken!)) {
let receiverName;
if (this._context.batchingReceiver) {
receiverName = this._context.batchingReceiver.name;
} else if (this._context.streamingReceiver) {
receiverName = this._context.streamingReceiver.name;
}

if (this.sessionId) {
receiverName = this._context.messageSessions[this.sessionId].name;
}
Comment thread
ramya-rao-a marked this conversation as resolved.
Outdated

await this._context.managementClient!.updateDispositionStatus(
this.lockToken!,
DispositionStatus.completed,
receiverName,
{
sessionId: this.sessionId
}
Expand Down Expand Up @@ -849,9 +861,21 @@ export class ServiceBusMessage implements ReceivedMessage {
this.messageId
);
if (this._context.requestResponseLockedMessages.has(this.lockToken!)) {
let receiverName;
if (this._context.batchingReceiver) {
receiverName = this._context.batchingReceiver.name;
} else if (this._context.streamingReceiver) {
receiverName = this._context.streamingReceiver.name;
}

if (this.sessionId) {
receiverName = this._context.messageSessions[this.sessionId].name;
}

await this._context.managementClient!.updateDispositionStatus(
this.lockToken!,
DispositionStatus.abandoned,
receiverName,
{ propertiesToModify: propertiesToModify, sessionId: this.sessionId }
);

Expand Down Expand Up @@ -881,9 +905,21 @@ export class ServiceBusMessage implements ReceivedMessage {
this.messageId
);
if (this._context.requestResponseLockedMessages.has(this.lockToken!)) {
let receiverName;
if (this._context.batchingReceiver) {
receiverName = this._context.batchingReceiver.name;
} else if (this._context.streamingReceiver) {
receiverName = this._context.streamingReceiver.name;
}

if (this.sessionId) {
receiverName = this._context.messageSessions[this.sessionId].name;
}

await this._context.managementClient!.updateDispositionStatus(
this.lockToken!,
DispositionStatus.defered,
receiverName,
{ propertiesToModify: propertiesToModify, sessionId: this.sessionId }
);

Expand Down Expand Up @@ -923,9 +959,21 @@ export class ServiceBusMessage implements ReceivedMessage {
this.messageId
);
if (this._context.requestResponseLockedMessages.has(this.lockToken!)) {
let receiverName;
if (this._context.batchingReceiver) {
receiverName = this._context.batchingReceiver.name;
} else if (this._context.streamingReceiver) {
receiverName = this._context.streamingReceiver.name;
}

if (this.sessionId) {
receiverName = this._context.messageSessions[this.sessionId].name;
}

await this._context.managementClient!.updateDispositionStatus(
this.lockToken!,
DispositionStatus.suspended,
receiverName,
{
deadLetterReason: error.condition,
deadLetterDescription: error.description,
Expand Down