admin管理员组

文章数量:1291309

So, I'm facing some issues in Azure Service Bus. Background - My Pipeline is connecting to azure service bus using a connection string, reading the message, converting it in deferred state and then some transformations are happening on that data and then it gets written to kinesis target. So, if it gets successfully written then it would trigger complete message function where a comparison would happen. My same receiver would read the deferred message using sequence number and compare it with target, if both are same then only it would complete the message. But if the data doesn't get written to target, i want to perform retry logic of 3 where I thought of firstly checking delivery count, if it's less than 3, then it would abandon the defer message and execution completes and then in next execution everything happens again, and if again fails to write to target again abandon the message.

Problem- When I'm trying to abandon the defer message it's not going back to the active queue for my other receiver to read that message.

If I think of not abandoning the message and instead resend the message, then it would go back to active queue but delivery count resets.

So, I don't understand how to put defer message back to active queue so that some other receiver would pick it up and at the same time it retains it's delivery count for my retry_count logic purpose.

I tried not using defer state but for completing the message, i want to compare this message with my target message, for that my receiver should be able to read the same message twice but it can't do so. So, I put it in defer state so that using sequence number, Receiver would read it.

本文标签: pipelineImplicitly change deferred state to active state in Azure Service BusStack Overflow