This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch fix/CAMEL-24156 in repository https://gitbox.apache.org/repos/asf/camel.git
commit 37bfe94d9691ceead22daea93d0c75fee9235375 Author: Claus Ibsen <[email protected]> AuthorDate: Fri Jul 17 17:19:18 2026 +0200 CAMEL-24156: camel-aws2-sqs/sns - Fix FIFO queue/topic handling - SQS: Skip per-message DelaySeconds when delayQueue=true (delay is queue-level) or when the queue is FIFO (AWS rejects per-message delay) - SNS: Set ContentBasedDeduplication attribute on auto-created FIFO topics when useContentBasedDeduplication strategy is configured Co-Authored-By: Claude Opus 4.6 <[email protected]> Signed-off-by: Claus Ibsen <[email protected]> --- .../main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java | 3 +++ .../main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java index 10e13d46e43d..df70fb1fb870 100644 --- a/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java +++ b/components/camel-aws/camel-aws2-sns/src/main/java/org/apache/camel/component/aws2/sns/Sns2Endpoint.java @@ -146,6 +146,9 @@ public class Sns2Endpoint extends DefaultEndpoint implements HeaderFilterStrateg if (configuration.isFifoTopic()) { attributes.put("FifoTopic", "true"); + if (configuration.getMessageDeduplicationIdStrategy() instanceof NullMessageDeduplicationIdStrategy) { + attributes.put("ContentBasedDeduplication", "true"); + } builder.attributes(attributes); } diff --git a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java index 0518d36791d7..8a962e559029 100644 --- a/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java +++ b/components/camel-aws/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java @@ -268,6 +268,9 @@ public class Sqs2Producer extends DefaultProducer { } private void addDelay(SendMessageRequest.Builder request, Exchange exchange) { + if (getEndpoint().getConfiguration().isDelayQueue() || getEndpoint().getConfiguration().isFifoQueue()) { + return; + } Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class); Integer delayValue; if (ObjectHelper.isEmpty(headerValue)) { @@ -284,6 +287,9 @@ public class Sqs2Producer extends DefaultProducer { } private void addDelay(SendMessageBatchRequestEntry.Builder request, Exchange exchange) { + if (getEndpoint().getConfiguration().isDelayQueue() || getEndpoint().getConfiguration().isFifoQueue()) { + return; + } Integer headerValue = exchange.getIn().getHeader(Sqs2Constants.DELAY_HEADER, Integer.class); Integer delayValue; if (ObjectHelper.isEmpty(headerValue)) {
