我有一个SQSListener设置,虽然它正在接收有效负载,但它缺少消费消息的messageId,我是否做错了什么?下面是我的代码,
@SqsListener(value = "${test-queue-url}", deletionPolicy = SqsMessageDeletionPolicy.NEVER)
public void listen(Acknowledgment acknowledgment, String message, String messageId) {
// messageId == null here
LOG.info(messageId);
}发布于 2020-02-13 21:18:12
将我的代码更改为并从标头中提取值
@Async
@SqsListener(value = "${queue-url}", deletionPolicy = SqsMessageDeletionPolicy.NEVER)
public void listen(Acknowledgment acknowledgment, String message, @Headers MessageHeaders headers) throws ExecutionException, InterruptedException {
String messageId = (String) headers.get("MessageId");
acknowledgment.acknowledge().get();
}https://stackoverflow.com/questions/60044840
复制相似问题