diff --git a/src/main/java/org/springframework/integration/aws/inbound/SqsMessageDrivenChannelAdapter.java b/src/main/java/org/springframework/integration/aws/inbound/SqsMessageDrivenChannelAdapter.java index c969ad5..c5ecc6a 100644 --- a/src/main/java/org/springframework/integration/aws/inbound/SqsMessageDrivenChannelAdapter.java +++ b/src/main/java/org/springframework/integration/aws/inbound/SqsMessageDrivenChannelAdapter.java @@ -158,16 +158,19 @@ public class SqsMessageDrivenChannelAdapter extends MessageProducerSupport imple @Override protected void handleMessageInternal(Message message, String lookupDestination) { MessageHeaders headers = message.getHeaders(); + Message messageToSend = getMessageBuilderFactory() .fromMessage(message) .removeHeaders("LogicalResourceId", "MessageId", - "ReceiptHandle") + "ReceiptHandle", + "Acknowledgment") .setHeader(AwsHeaders.MESSAGE_ID, headers.get("MessageId")) .setHeader(AwsHeaders.RECEIPT_HANDLE, headers.get("ReceiptHandle")) - .setHeader(AwsHeaders.QUEUE, - headers.get("LogicalResourceId")) + .setHeader(AwsHeaders.QUEUE, headers.get("LogicalResourceId")) + .setHeader(AwsHeaders.ACKNOWLEDGMENT, headers.get("Acknowledgment")) .build(); + sendMessage(messageToSend); } diff --git a/src/main/java/org/springframework/integration/aws/support/AwsHeaders.java b/src/main/java/org/springframework/integration/aws/support/AwsHeaders.java index 7f9b135..d9ca874 100644 --- a/src/main/java/org/springframework/integration/aws/support/AwsHeaders.java +++ b/src/main/java/org/springframework/integration/aws/support/AwsHeaders.java @@ -45,6 +45,11 @@ public abstract class AwsHeaders { */ public static final String RECEIPT_HANDLE = PREFIX + "receiptHandle"; + /** + * The {@value ACKNOWLEDGMENT} header for received SQS message. + */ + public static final String ACKNOWLEDGMENT = PREFIX + "acknowledgment"; + /** * The {@value NOTIFICATION_STATUS} header for SNS notification status. */