Reputation: 1298
I have an SQSListener setup, Although its receiving the payload, It is missing the messageId for the consumed message, is there anything I am doing wrong?, Below is my code,
@SqsListener(value = "${test-queue-url}", deletionPolicy = SqsMessageDeletionPolicy.NEVER)
public void listen(Acknowledgment acknowledgment, String message, String messageId) {
// messageId == null here
LOG.info(messageId);
}
Upvotes: 1
Views: 846
Reputation: 1298
Changed my code to and extracted the value from headers
@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();
}
Upvotes: 2