IsaacK
IsaacK

Reputation: 1298

SQSListener missing message Id

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

Answers (1)

IsaacK
IsaacK

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

Related Questions