我使用 @SqsListener 和 deletePolicy = SqsMessageDeletionPolicy.ALWAYS 如下:
@Override
@SqsListener(value = "${sqs.queueName}", deletionPolicy = SqsMessageDeletionPolicy.ALWAYS)
public void processMessage(String messageAsJson) {
log.info("received a new SQS message: {}", messageAsJson);
try {
MessageResponse messageResponse = this.objectMapper.readValue(messageAsJson, MessageResponse.class);
iMessageHandler.handle(messageResponse);
} catch (Exception e) {
log.error("exception in reading SQS message {} with error {}", messageAsJson, e);
return;
}
}
当我打开 AWS 控制台并单击“轮询消息”时,我可以看到一些“接收计数”> 1 的消息:
我读到这意味着这些消息返回到队列中。但我指定了
deletionPolicy = SqsMessageDeletionPolicy.ALWAYS
为什么会这样?
谢谢!