This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch feature/CAMEL-23789-wave1-multi-dsl-docs
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 214d575e4c4b8e781bf8336aeda2f279f281bd5e
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Jun 17 19:03:44 2026 +0200

    CAMEL-23789: Make AWS SQS component docs multi-DSL friendly (Wave 1)
    
    Co-Authored-By: Claude <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../src/main/docs/aws2-sqs-component.adoc          | 87 ++++++++++++++++------
 1 file changed, 66 insertions(+), 21 deletions(-)

diff --git 
a/components/camel-aws/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc 
b/components/camel-aws/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
index 231962e8676c..c9002977271f 100644
--- a/components/camel-aws/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
+++ b/components/camel-aws/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
@@ -89,16 +89,17 @@ create your own instance, and configure Camel to use your 
instance by the bean i
 
 In the example below, we use _myClient_ as the bean id:
 
+._Java-only: programmatic `SqsClient` creation and registry binding_
 [source,java]
 
---------------------------------------------------------------------------------
-// crate my own instance of SqsClient
+// create my own instance of SqsClient
 SqsClient sqs = ...
 
 // register the client into Camel registry
 camelContext.getRegistry().bind("myClient", sqs);
 
 // refer to the custom client via myClient as the bean id
-from("aws2-sqs://MyQueue?amazonSQSClient=#m4yClient&delay=5000&maxMessagesPerPoll=5")
+from("aws2-sqs://MyQueue?amazonSQSClient=#myClient&delay=5000&maxMessagesPerPoll=5")
 .to("mock:result");
 
---------------------------------------------------------------------------------
 
@@ -131,20 +132,66 @@ route, unless the route ended in failure. To achieve 
appropriate
 filtering and not send the DeleteMessage even on successful completion
 of the route, use a Filter:
 
+[tabs]
+====
+Java::
++
 [source,java]
-------------------------------------------------------------------------------------------------------
+----
 
from("aws2-sqs://MyQueue?amazonSQSClient=#client&defaultVisibilityTimeout=5000&deleteIfFiltered=false&deleteAfterRead=false")
 .filter("${header.login} == true")
-  .setProperty(Sqs2Constants.SQS_DELETE_FILTERED, constant(true))
+  .setProperty("CamelAwsSqsDeleteFiltered", constant(true))
   .to("mock:filter");
-------------------------------------------------------------------------------------------------------
+----
+
+XML::
++
+[source,xml]
+----
+<route>
+  <from 
uri="aws2-sqs://MyQueue?amazonSQSClient=#client&amp;defaultVisibilityTimeout=5000&amp;deleteIfFiltered=false&amp;deleteAfterRead=false"/>
+  <filter>
+    <simple>${header.login} == true</simple>
+    <setProperty name="CamelAwsSqsDeleteFiltered">
+      <constant>true</constant>
+    </setProperty>
+    <to uri="mock:filter"/>
+  </filter>
+</route>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+    from:
+      uri: aws2-sqs://MyQueue
+      parameters:
+        amazonSQSClient: "#client"
+        defaultVisibilityTimeout: 5000
+        deleteIfFiltered: false
+        deleteAfterRead: false
+      steps:
+        - filter:
+            simple: "${header.login} == true"
+            steps:
+              - setProperty:
+                  name: CamelAwsSqsDeleteFiltered
+                  constant: true
+              - to:
+                  uri: mock:filter
+----
+====
+
+TIP: In Java code, you can use the constant 
`Sqs2Constants.SQS_DELETE_FILTERED` for the property name.
 
 In the above code, if an exchange doesn't have an appropriate header, it
 will not make it through the filter AND also not be deleted from the SQS
 queue. After 5000 milliseconds, the message will become visible to other
 consumers.
 
-Note we must set the property `Sqs2Constants.SQS_DELETE_FILTERED` to `true` to
+Note we must set the property `CamelAwsSqsDeleteFiltered` to `true` to
 instruct Camel to send the DeleteMessage, if being filtered.
 
 === Available Producer Operations
@@ -203,20 +250,18 @@ YAML::
 
 You can set a `SendMessageBatchRequest` or an `Iterable`
 
+._Java-only: requires constructing a `List` body programmatically for batch 
messages_
 [source,java]
 
------------------------------------------------------------------------------------------------------
 from("direct:start")
-  .setHeader(SqsConstants.SQS_OPERATION, constant("sendBatchMessage"))
-  .process(new Processor() {
-      @Override
-      public void process(Exchange exchange) throws Exception {
-          List c = new ArrayList();
-          c.add("team1");
-          c.add("team2");
-          c.add("team3");
-          c.add("team4");
-          exchange.getIn().setBody(c);                                 
-      }
+  .setHeader("CamelAwsSqsOperation", constant("sendBatchMessage"))
+  .process(exchange -> {
+      List<String> c = new ArrayList<>();
+      c.add("team1");
+      c.add("team2");
+      c.add("team3");
+      c.add("team4");
+      exchange.getIn().setBody(c);
   })
   
.to("aws2-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)&region=eu-west-1");
 
------------------------------------------------------------------------------------------------------
@@ -235,8 +280,8 @@ Java::
 [source,java]
 ----
 from("direct:start")
-    .setHeader(SqsConstants.SQS_OPERATION, constant("deleteMessage"))
-    .setHeader(SqsConstants.RECEIPT_HANDLE, constant("123456"))
+    .setHeader("CamelAwsSqsOperation", constant("deleteMessage"))
+    .setHeader("CamelAwsSqsReceiptHandle", constant("123456"))
     
.to("aws2-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)&region=eu-west-1");
 ----
 
@@ -292,7 +337,7 @@ Java::
 [source,java]
 ----
 from("direct:start")
-    .setHeader(SqsConstants.SQS_OPERATION, constant("listQueues"))
+    .setHeader("CamelAwsSqsOperation", constant("listQueues"))
     
.to("aws2-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)&region=eu-west-1");
 ----
 
@@ -342,7 +387,7 @@ Java::
 [source,java]
 ----
 from("direct:start")
-    .setHeader(SqsConstants.SQS_OPERATION, constant("purgeQueue"))
+    .setHeader("CamelAwsSqsOperation", constant("purgeQueue"))
     
.to("aws2-sqs://camel-1?accessKey=RAW(xxx)&secretKey=RAW(xxx)&region=eu-west-1");
 ----
 

Reply via email to