I want to be able to discard a message with annotations or requeue a message with annotations.
The sample code is as follows:
const consumer = await connection.createConsumer({
queue: { name: "test-queue" },
messageHandler: (context, message) => {
if (toRequeue) {
toRequeue = false
context.requeue({ "x-opt-annotation-key": "annotation-value" })
return
}
context.accept()
},
})
// or ...
const consumer = await connection.createConsumer({
queue: { name: "test-queue" },
messageHandler: (context, message) => {
context.discard({ "x-opt-annotation-key": "annotation-value" })
},
})