当我处理消费消息时,我需要向AWS MQ发送确认。
以下是我的情况:
我已经使用amqp10 npm模块从AWS MQ消耗了消息,然后需要处理消息并将处理后的输出发送到另一个队列。此后,我需要向原始消息队列发送确认,以便可以使用消耗的消息从队列中删除。
因为,我需要处理我的消息,这需要一些时间,并且直到那时我都不想打开我的MQ连接,所以一旦消息被消耗掉,我就关闭了连接,但是一旦我所有的工作都完成了,我就需要发送确认消息到队列中完成。
虽然我可以使用下面的无效代码,但是可以使用receive.accept(message)将确认发送到队列。
下面是我的代码:
let sendAcknowledgementToOrcidPipeline = function(messageId) {
let client = new AMQPClient(Policy.Utils.RenewOnSettle(1, 1,
Policy.ServiceBusQueue));
let connectionString = 'your_connection_string'
client.connect(connectionString, {
'saslMechanism': 'ANONYMOUS'
})
.then(function() {
console.log("Connected");
return Promise.all([
client.createReceiver(configurationHolder.config.getMessageQueueName)
]);
})
.spread(function(receiver) {
receiver.accept(messageId);
});
};
我无法确定我做错了什么。谁能帮我这个忙。
谢谢