You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2021/02/11 13:44:32 UTC

[camel] branch master updated (c7b64ff -> 670bc98)

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

acosentino pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from c7b64ff  core: tidy up PropertyBindingSupport::resolveBean
     new e4dc14c  CAMEL-16186 - Camel-AWS2-SQS: Support String as body for batch message
     new 61e2208  CAMEL-16186 - Camel-AWS2-SQS: Support String as body for batch message
     new f06cf1a  CAMEL-16186 - Added test
     new eb6879f  Regen
     new 32967fb  Regen
     new 670bc98  Regen again

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/camel/catalog/components/aws2-sqs.json  |  2 ++
 .../apache/camel/catalog/docs/aws2-sqs-component.adoc  |  6 ++++--
 .../component/aws2/sqs/Sqs2ComponentConfigurer.java    |  6 ++++++
 .../component/aws2/sqs/Sqs2EndpointConfigurer.java     |  6 ++++++
 .../component/aws2/sqs/Sqs2EndpointUriFactory.java     |  3 ++-
 .../org/apache/camel/component/aws2/sqs/aws2-sqs.json  |  2 ++
 .../src/main/docs/aws2-sqs-component.adoc              |  6 ++++--
 .../camel/component/aws2/sqs/Sqs2Configuration.java    | 13 +++++++++++++
 .../apache/camel/component/aws2/sqs/Sqs2Producer.java  | 16 ++++++++++++++++
 ...sProducerBatchSendWithSeparatorLocalstackTest.java} | 13 ++-----------
 .../component/dsl/Aws2SqsComponentBuilderFactory.java  | 18 ++++++++++++++++++
 .../endpoint/dsl/Sqs2EndpointBuilderFactory.java       | 16 ++++++++++++++++
 .../modules/ROOT/pages/aws2-sqs-component.adoc         |  6 ++++--
 13 files changed, 95 insertions(+), 18 deletions(-)
 copy components/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/localstack/{SqsProducerBatchSendLocalstackTest.java => SqsProducerBatchSendWithSeparatorLocalstackTest.java} (86%)


[camel] 04/06: Regen

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit eb6879fa57a988a7e52b322ed6fc0586b32fe076
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 11 14:39:22 2021 +0100

    Regen
---
 .../resources/org/apache/camel/catalog/components/aws2-sqs.json   | 2 ++
 docs/components/modules/ROOT/pages/aws2-sqs-component.adoc        | 8 +++-----
 docs/components/modules/ROOT/pages/caffeine-cache-component.adoc  | 2 +-
 .../modules/ROOT/pages/caffeine-loadcache-component.adoc          | 2 +-
 docs/components/modules/ROOT/pages/sql-component.adoc             | 2 +-
 docs/components/modules/ROOT/pages/sql-stored-component.adoc      | 2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sqs.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sqs.json
index b42cd00..4145479 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sqs.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-sqs.json
@@ -45,6 +45,7 @@
     "serverSideEncryptionEnabled": { "kind": "property", "displayName": "Server Side Encryption Enabled", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the queue" },
     "visibilityTimeout": { "kind": "property", "displayName": "Visibility Timeout", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after [...]
     "waitTimeSeconds": { "kind": "property", "displayName": "Wait Time Seconds", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queu [...]
+    "batchSeparator": { "kind": "property", "displayName": "Batch Separator", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": ",", "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Set the separator when passing a String to send batch message operation" },
     "delaySeconds": { "kind": "property", "displayName": "Delay Seconds", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Delay sending messages for a number of seconds." },
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "messageDeduplicationIdStrategy": { "kind": "property", "displayName": "Message Deduplication Id Strategy", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "useExchangeId", "useContentBasedDeduplication" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "useExchangeId", "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", [...]
@@ -93,6 +94,7 @@
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
     "pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation  [...]
+    "batchSeparator": { "kind": "parameter", "displayName": "Batch Separator", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": ",", "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Set the separator when passing a String to send batch message operation" },
     "delaySeconds": { "kind": "parameter", "displayName": "Delay Seconds", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Delay sending messages for a number of seconds." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during sta [...]
     "messageDeduplicationIdStrategy": { "kind": "parameter", "displayName": "Message Deduplication Id Strategy", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "useExchangeId", "useContentBasedDeduplication" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "useExchangeId", "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration" [...]
diff --git a/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc b/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc
index d766b6f..2a14414 100644
--- a/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc
@@ -1,7 +1,7 @@
 [[aws2-sqs-component]]
 = AWS 2 Simple Queue Service (SQS) Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
+:page-source: components/camel-aws2-sqs/bin/src/main/docs/aws2-sqs-component.adoc
 :docTitle: AWS 2 Simple Queue Service (SQS)
 :artifactId: camel-aws2-sqs
 :description: Sending and receive messages to/from AWS SQS service using AWS SDK version 2.x.
@@ -45,7 +45,7 @@ The queue will be created if they don't already exists. +
 
 
 // component options: START
-The AWS 2 Simple Queue Service (SQS) component supports 41 options, which are listed below.
+The AWS 2 Simple Queue Service (SQS) component supports 40 options, which are listed below.
 
 
 
@@ -75,7 +75,6 @@ The AWS 2 Simple Queue Service (SQS) component supports 41 options, which are li
 | *serverSideEncryptionEnabled* (consumer) | Define if Server Side Encryption is enabled or not on the queue | false | boolean
 | *visibilityTimeout* (consumer) | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
 | *waitTimeSeconds* (consumer) | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
-| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
 | *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
@@ -122,7 +121,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (59 parameters):
+=== Query Parameters (58 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -156,7 +155,6 @@ with the following path and query parameters:
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
-| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
 | *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
diff --git a/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc b/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc
index 1ffa37a..a441c57 100644
--- a/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc
+++ b/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc
@@ -1,7 +1,7 @@
 [[caffeine-cache-component]]
 = Caffeine Cache Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
+:page-source: components/camel-caffeine/bin/src/main/docs/caffeine-cache-component.adoc
 :docTitle: Caffeine Cache
 :artifactId: camel-caffeine
 :description: Perform caching operations using Caffeine Cache.
diff --git a/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc b/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc
index beee725..d8af05e 100644
--- a/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc
+++ b/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc
@@ -1,7 +1,7 @@
 [[caffeine-loadcache-component]]
 = Caffeine LoadCache Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
+:page-source: components/camel-caffeine/bin/src/main/docs/caffeine-loadcache-component.adoc
 :docTitle: Caffeine LoadCache
 :artifactId: camel-caffeine
 :description: Perform caching operations using Caffeine Cache with an attached CacheLoader.
diff --git a/docs/components/modules/ROOT/pages/sql-component.adoc b/docs/components/modules/ROOT/pages/sql-component.adoc
index 2d5c9f8..b661bb7 100644
--- a/docs/components/modules/ROOT/pages/sql-component.adoc
+++ b/docs/components/modules/ROOT/pages/sql-component.adoc
@@ -1,7 +1,7 @@
 [[sql-component]]
 = SQL Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-sql/src/main/docs/sql-component.adoc
+:page-source: components/camel-sql/bin/src/main/docs/sql-component.adoc
 :docTitle: SQL
 :artifactId: camel-sql
 :description: Perform SQL queries using Spring JDBC.
diff --git a/docs/components/modules/ROOT/pages/sql-stored-component.adoc b/docs/components/modules/ROOT/pages/sql-stored-component.adoc
index 3ef6ea4..4d898d8 100644
--- a/docs/components/modules/ROOT/pages/sql-stored-component.adoc
+++ b/docs/components/modules/ROOT/pages/sql-stored-component.adoc
@@ -1,7 +1,7 @@
 [[sql-stored-component]]
 = SQL Stored Procedure Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-sql/src/main/docs/sql-stored-component.adoc
+:page-source: components/camel-sql/bin/src/main/docs/sql-stored-component.adoc
 :docTitle: SQL Stored Procedure
 :artifactId: camel-sql
 :description: Perform SQL queries as a JDBC Stored Procedures using Spring JDBC.


[camel] 06/06: Regen again

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 670bc98cf21c35b460a6a7c2cb3e5b3100939eae
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 11 14:43:17 2021 +0100

    Regen again
---
 docs/components/modules/ROOT/pages/caffeine-cache-component.adoc     | 2 +-
 docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc | 2 +-
 docs/components/modules/ROOT/pages/sql-component.adoc                | 2 +-
 docs/components/modules/ROOT/pages/sql-stored-component.adoc         | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc b/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc
index a441c57..1ffa37a 100644
--- a/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc
+++ b/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc
@@ -1,7 +1,7 @@
 [[caffeine-cache-component]]
 = Caffeine Cache Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-caffeine/bin/src/main/docs/caffeine-cache-component.adoc
+:page-source: components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
 :docTitle: Caffeine Cache
 :artifactId: camel-caffeine
 :description: Perform caching operations using Caffeine Cache.
diff --git a/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc b/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc
index d8af05e..beee725 100644
--- a/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc
+++ b/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc
@@ -1,7 +1,7 @@
 [[caffeine-loadcache-component]]
 = Caffeine LoadCache Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-caffeine/bin/src/main/docs/caffeine-loadcache-component.adoc
+:page-source: components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
 :docTitle: Caffeine LoadCache
 :artifactId: camel-caffeine
 :description: Perform caching operations using Caffeine Cache with an attached CacheLoader.
diff --git a/docs/components/modules/ROOT/pages/sql-component.adoc b/docs/components/modules/ROOT/pages/sql-component.adoc
index b661bb7..2d5c9f8 100644
--- a/docs/components/modules/ROOT/pages/sql-component.adoc
+++ b/docs/components/modules/ROOT/pages/sql-component.adoc
@@ -1,7 +1,7 @@
 [[sql-component]]
 = SQL Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-sql/bin/src/main/docs/sql-component.adoc
+:page-source: components/camel-sql/src/main/docs/sql-component.adoc
 :docTitle: SQL
 :artifactId: camel-sql
 :description: Perform SQL queries using Spring JDBC.
diff --git a/docs/components/modules/ROOT/pages/sql-stored-component.adoc b/docs/components/modules/ROOT/pages/sql-stored-component.adoc
index 4d898d8..3ef6ea4 100644
--- a/docs/components/modules/ROOT/pages/sql-stored-component.adoc
+++ b/docs/components/modules/ROOT/pages/sql-stored-component.adoc
@@ -1,7 +1,7 @@
 [[sql-stored-component]]
 = SQL Stored Procedure Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-sql/bin/src/main/docs/sql-stored-component.adoc
+:page-source: components/camel-sql/src/main/docs/sql-stored-component.adoc
 :docTitle: SQL Stored Procedure
 :artifactId: camel-sql
 :description: Perform SQL queries as a JDBC Stored Procedures using Spring JDBC.


[camel] 03/06: CAMEL-16186 - Added test

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit f06cf1a1c9d56a85208ff87715a199642dff3fba
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 11 14:29:16 2021 +0100

    CAMEL-16186 - Added test
---
 ...oducerBatchSendWithSeparatorLocalstackTest.java | 64 ++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/components/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/localstack/SqsProducerBatchSendWithSeparatorLocalstackTest.java b/components/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/localstack/SqsProducerBatchSendWithSeparatorLocalstackTest.java
new file mode 100644
index 0000000..9c9149b
--- /dev/null
+++ b/components/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/localstack/SqsProducerBatchSendWithSeparatorLocalstackTest.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.sqs.localstack;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.Processor;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.aws2.sqs.Sqs2Constants;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.jupiter.api.Test;
+
+public class SqsProducerBatchSendWithSeparatorLocalstackTest extends Aws2SQSBaseTest {
+
+    @EndpointInject("direct:start")
+    private ProducerTemplate template;
+
+    @EndpointInject("mock:result")
+    private MockEndpoint result;
+
+    @Test
+    public void sendInOnly() throws Exception {
+        result.expectedMessageCount(5);
+
+        Exchange exchange = template.send("direct:start", ExchangePattern.InOnly, new Processor() {
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setBody("1,2,3,4,5");
+            }
+        });
+
+        assertMockEndpointsSatisfied();
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:start").startupOrder(2).setHeader(Sqs2Constants.SQS_OPERATION, constant("sendBatchMessage"))
+                        .toF("aws2-sqs://%s", sharedNameGenerator.getName());
+
+                fromF("aws2-sqs://%s?deleteAfterRead=true", sharedNameGenerator.getName())
+                        .startupOrder(1).log("${body}").to("mock:result");
+            }
+        };
+    }
+}


[camel] 05/06: Regen

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 32967fb7319cc516af4a874c1ca8c421eb56aebe
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 11 14:40:42 2021 +0100

    Regen
---
 docs/components/modules/ROOT/pages/aws2-sqs-component.adoc | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc b/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc
index 2a14414..d766b6f 100644
--- a/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc
@@ -1,7 +1,7 @@
 [[aws2-sqs-component]]
 = AWS 2 Simple Queue Service (SQS) Component
 //THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-aws2-sqs/bin/src/main/docs/aws2-sqs-component.adoc
+:page-source: components/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
 :docTitle: AWS 2 Simple Queue Service (SQS)
 :artifactId: camel-aws2-sqs
 :description: Sending and receive messages to/from AWS SQS service using AWS SDK version 2.x.
@@ -45,7 +45,7 @@ The queue will be created if they don't already exists. +
 
 
 // component options: START
-The AWS 2 Simple Queue Service (SQS) component supports 40 options, which are listed below.
+The AWS 2 Simple Queue Service (SQS) component supports 41 options, which are listed below.
 
 
 
@@ -75,6 +75,7 @@ The AWS 2 Simple Queue Service (SQS) component supports 40 options, which are li
 | *serverSideEncryptionEnabled* (consumer) | Define if Server Side Encryption is enabled or not on the queue | false | boolean
 | *visibilityTimeout* (consumer) | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
 | *waitTimeSeconds* (consumer) | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
+| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
 | *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
@@ -121,7 +122,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (58 parameters):
+=== Query Parameters (59 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -155,6 +156,7 @@ with the following path and query parameters:
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
+| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
 | *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String


[camel] 01/06: CAMEL-16186 - Camel-AWS2-SQS: Support String as body for batch message

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit e4dc14c7207f8a3ef1a78f3a25958213e4582dcf
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 11 14:18:10 2021 +0100

    CAMEL-16186 - Camel-AWS2-SQS: Support String as body for batch message
---
 .../camel/component/aws2/sqs/Sqs2Configuration.java      | 15 ++++++++++++++-
 .../apache/camel/component/aws2/sqs/Sqs2Producer.java    | 16 ++++++++++++++++
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java b/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
index 3347d84..58bda66 100644
--- a/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
+++ b/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
@@ -93,6 +93,8 @@ public class Sqs2Configuration implements Cloneable {
     private MessageDeduplicationIdStrategy messageDeduplicationIdStrategy = new ExchangeIdMessageDeduplicationIdStrategy();
     @UriParam(label = "producer")
     private Sqs2Operations operation;
+    @UriParam(label = "producer", defaultValue = ",")
+    private String batchSeparator;
 
     // queue properties
     @UriParam(label = "queue")
@@ -571,12 +573,23 @@ public class Sqs2Configuration implements Cloneable {
     public void setUseDefaultCredentialsProvider(boolean useDefaultCredentialsProvider) {
         this.useDefaultCredentialsProvider = useDefaultCredentialsProvider;
     }
+    
+    public String getBatchSeparator() {
+		return batchSeparator;
+	}
+
+    /**
+     * Set the separator when passing a String to send batch message operation
+     */
+	public void setBatchSeparator(String batchSeparator) {
+		this.batchSeparator = batchSeparator;
+	}    
 
     // *************************************************
     //
     // *************************************************
 
-    public Sqs2Configuration copy() {
+	public Sqs2Configuration copy() {
         try {
             return (Sqs2Configuration) super.clone();
         } catch (CloneNotSupportedException e) {
diff --git a/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java b/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
index abd7962..8719c77 100644
--- a/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
+++ b/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Producer.java
@@ -129,6 +129,22 @@ public class Sqs2Producer extends DefaultProducer {
             SendMessageBatchResponse result = amazonSQS.sendMessageBatch(request.build());
             Message message = getMessageForResponse(exchange);
             message.setBody(result);
+        } else if (exchange.getIn().getBody() instanceof String) {
+            String c = exchange.getIn().getBody(String.class);
+            String[] elements = c.split(getConfiguration().getBatchSeparator());
+            for (String o : elements) {
+                SendMessageBatchRequestEntry.Builder entry = SendMessageBatchRequestEntry.builder();
+                entry.id(UUID.randomUUID().toString());
+                entry.messageAttributes(translateAttributes(exchange.getIn().getHeaders(), exchange));
+                entry.messageBody(o);
+                addDelay(entry, exchange);
+                configureFifoAttributes(entry, exchange);
+                entries.add(entry.build());
+            }
+            request.entries(entries);
+            SendMessageBatchResponse result = amazonSQS.sendMessageBatch(request.build());
+            Message message = getMessageForResponse(exchange);
+            message.setBody(result);
         } else {
             SendMessageBatchRequest req = exchange.getIn().getBody(SendMessageBatchRequest.class);
             SendMessageBatchResponse result = amazonSQS.sendMessageBatch(req);


[camel] 02/06: CAMEL-16186 - Camel-AWS2-SQS: Support String as body for batch message

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 61e22088eb583997f89872c4cfb825bc9c2a92f3
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 11 14:29:04 2021 +0100

    CAMEL-16186 - Camel-AWS2-SQS: Support String as body for batch message
---
 .../apache/camel/catalog/docs/aws2-sqs-component.adoc  |  6 ++++--
 .../component/aws2/sqs/Sqs2ComponentConfigurer.java    |  6 ++++++
 .../component/aws2/sqs/Sqs2EndpointConfigurer.java     |  6 ++++++
 .../component/aws2/sqs/Sqs2EndpointUriFactory.java     |  3 ++-
 .../org/apache/camel/component/aws2/sqs/aws2-sqs.json  |  2 ++
 .../src/main/docs/aws2-sqs-component.adoc              |  6 ++++--
 .../camel/component/aws2/sqs/Sqs2Configuration.java    | 16 ++++++++--------
 .../component/dsl/Aws2SqsComponentBuilderFactory.java  | 18 ++++++++++++++++++
 .../endpoint/dsl/Sqs2EndpointBuilderFactory.java       | 16 ++++++++++++++++
 .../modules/ROOT/pages/aws2-sqs-component.adoc         |  6 ++++--
 10 files changed, 70 insertions(+), 15 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-sqs-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-sqs-component.adoc
index 7d2a718..9a38a61 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-sqs-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws2-sqs-component.adoc
@@ -43,7 +43,7 @@ The queue will be created if they don't already exists. +
 
 
 // component options: START
-The AWS 2 Simple Queue Service (SQS) component supports 40 options, which are listed below.
+The AWS 2 Simple Queue Service (SQS) component supports 41 options, which are listed below.
 
 
 
@@ -73,6 +73,7 @@ The AWS 2 Simple Queue Service (SQS) component supports 40 options, which are li
 | *serverSideEncryptionEnabled* (consumer) | Define if Server Side Encryption is enabled or not on the queue | false | boolean
 | *visibilityTimeout* (consumer) | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
 | *waitTimeSeconds* (consumer) | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
+| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
 | *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
@@ -119,7 +120,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (58 parameters):
+=== Query Parameters (59 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -153,6 +154,7 @@ with the following path and query parameters:
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
+| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
 | *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
diff --git a/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2ComponentConfigurer.java b/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2ComponentConfigurer.java
index c02f1cf..622e046 100644
--- a/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2ComponentConfigurer.java
+++ b/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2ComponentConfigurer.java
@@ -40,6 +40,8 @@ public class Sqs2ComponentConfigurer extends PropertyConfigurerSupport implement
         case "autoCreateQueue": getOrCreateConfiguration(target).setAutoCreateQueue(property(camelContext, boolean.class, value)); return true;
         case "autowiredenabled":
         case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
+        case "batchseparator":
+        case "batchSeparator": getOrCreateConfiguration(target).setBatchSeparator(property(camelContext, java.lang.String.class, value)); return true;
         case "bridgeerrorhandler":
         case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
         case "concurrentconsumers":
@@ -127,6 +129,8 @@ public class Sqs2ComponentConfigurer extends PropertyConfigurerSupport implement
         case "autoCreateQueue": return boolean.class;
         case "autowiredenabled":
         case "autowiredEnabled": return boolean.class;
+        case "batchseparator":
+        case "batchSeparator": return java.lang.String.class;
         case "bridgeerrorhandler":
         case "bridgeErrorHandler": return boolean.class;
         case "concurrentconsumers":
@@ -210,6 +214,8 @@ public class Sqs2ComponentConfigurer extends PropertyConfigurerSupport implement
         case "autoCreateQueue": return getOrCreateConfiguration(target).isAutoCreateQueue();
         case "autowiredenabled":
         case "autowiredEnabled": return target.isAutowiredEnabled();
+        case "batchseparator":
+        case "batchSeparator": return getOrCreateConfiguration(target).getBatchSeparator();
         case "bridgeerrorhandler":
         case "bridgeErrorHandler": return target.isBridgeErrorHandler();
         case "concurrentconsumers":
diff --git a/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2EndpointConfigurer.java b/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2EndpointConfigurer.java
index 0fc2585..941ecf2 100644
--- a/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2EndpointConfigurer.java
+++ b/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2EndpointConfigurer.java
@@ -37,6 +37,8 @@ public class Sqs2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "backoffIdleThreshold": target.setBackoffIdleThreshold(property(camelContext, int.class, value)); return true;
         case "backoffmultiplier":
         case "backoffMultiplier": target.setBackoffMultiplier(property(camelContext, int.class, value)); return true;
+        case "batchseparator":
+        case "batchSeparator": target.getConfiguration().setBatchSeparator(property(camelContext, java.lang.String.class, value)); return true;
         case "bridgeerrorhandler":
         case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
         case "concurrentconsumers":
@@ -158,6 +160,8 @@ public class Sqs2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "backoffIdleThreshold": return int.class;
         case "backoffmultiplier":
         case "backoffMultiplier": return int.class;
+        case "batchseparator":
+        case "batchSeparator": return java.lang.String.class;
         case "bridgeerrorhandler":
         case "bridgeErrorHandler": return boolean.class;
         case "concurrentconsumers":
@@ -275,6 +279,8 @@ public class Sqs2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "backoffIdleThreshold": return target.getBackoffIdleThreshold();
         case "backoffmultiplier":
         case "backoffMultiplier": return target.getBackoffMultiplier();
+        case "batchseparator":
+        case "batchSeparator": return target.getConfiguration().getBatchSeparator();
         case "bridgeerrorhandler":
         case "bridgeErrorHandler": return target.isBridgeErrorHandler();
         case "concurrentconsumers":
diff --git a/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2EndpointUriFactory.java b/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2EndpointUriFactory.java
index 5ed24a4..81879a6 100644
--- a/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2EndpointUriFactory.java
+++ b/components/camel-aws2-sqs/src/generated/java/org/apache/camel/component/aws2/sqs/Sqs2EndpointUriFactory.java
@@ -20,7 +20,7 @@ public class Sqs2EndpointUriFactory extends org.apache.camel.support.component.E
     private static final Set<String> PROPERTY_NAMES;
     private static final Set<String> SECRET_PROPERTY_NAMES;
     static {
-        Set<String> props = new HashSet<>(59);
+        Set<String> props = new HashSet<>(60);
         props.add("queueUrl");
         props.add("initialDelay");
         props.add("proxyPort");
@@ -52,6 +52,7 @@ public class Sqs2EndpointUriFactory extends org.apache.camel.support.component.E
         props.add("backoffMultiplier");
         props.add("maximumMessageSize");
         props.add("deleteIfFiltered");
+        props.add("batchSeparator");
         props.add("messageDeduplicationIdStrategy");
         props.add("kmsDataKeyReusePeriodSeconds");
         props.add("visibilityTimeout");
diff --git a/components/camel-aws2-sqs/src/generated/resources/org/apache/camel/component/aws2/sqs/aws2-sqs.json b/components/camel-aws2-sqs/src/generated/resources/org/apache/camel/component/aws2/sqs/aws2-sqs.json
index b42cd00..4145479 100644
--- a/components/camel-aws2-sqs/src/generated/resources/org/apache/camel/component/aws2/sqs/aws2-sqs.json
+++ b/components/camel-aws2-sqs/src/generated/resources/org/apache/camel/component/aws2/sqs/aws2-sqs.json
@@ -45,6 +45,7 @@
     "serverSideEncryptionEnabled": { "kind": "property", "displayName": "Server Side Encryption Enabled", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Define if Server Side Encryption is enabled or not on the queue" },
     "visibilityTimeout": { "kind": "property", "displayName": "Visibility Timeout", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after [...]
     "waitTimeSeconds": { "kind": "property", "displayName": "Wait Time Seconds", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queu [...]
+    "batchSeparator": { "kind": "property", "displayName": "Batch Separator", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": ",", "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Set the separator when passing a String to send batch message operation" },
     "delaySeconds": { "kind": "property", "displayName": "Delay Seconds", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Delay sending messages for a number of seconds." },
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
     "messageDeduplicationIdStrategy": { "kind": "property", "displayName": "Message Deduplication Id Strategy", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "useExchangeId", "useContentBasedDeduplication" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "useExchangeId", "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", [...]
@@ -93,6 +94,7 @@
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
     "pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false, "autowired": false, "secret": false, "description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation  [...]
+    "batchSeparator": { "kind": "parameter", "displayName": "Batch Separator", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": ",", "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Set the separator when passing a String to send batch message operation" },
     "delaySeconds": { "kind": "parameter", "displayName": "Delay Seconds", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration", "description": "Delay sending messages for a number of seconds." },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during sta [...]
     "messageDeduplicationIdStrategy": { "kind": "parameter", "displayName": "Message Deduplication Id Strategy", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "useExchangeId", "useContentBasedDeduplication" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "useExchangeId", "configurationClass": "org.apache.camel.component.aws2.sqs.Sqs2Configuration", "configurationField": "configuration" [...]
diff --git a/components/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc b/components/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
index 7d2a718..9a38a61 100644
--- a/components/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
+++ b/components/camel-aws2-sqs/src/main/docs/aws2-sqs-component.adoc
@@ -43,7 +43,7 @@ The queue will be created if they don't already exists. +
 
 
 // component options: START
-The AWS 2 Simple Queue Service (SQS) component supports 40 options, which are listed below.
+The AWS 2 Simple Queue Service (SQS) component supports 41 options, which are listed below.
 
 
 
@@ -73,6 +73,7 @@ The AWS 2 Simple Queue Service (SQS) component supports 40 options, which are li
 | *serverSideEncryptionEnabled* (consumer) | Define if Server Side Encryption is enabled or not on the queue | false | boolean
 | *visibilityTimeout* (consumer) | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
 | *waitTimeSeconds* (consumer) | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
+| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
 | *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
@@ -119,7 +120,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (58 parameters):
+=== Query Parameters (59 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -153,6 +154,7 @@ with the following path and query parameters:
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
+| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
 | *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
diff --git a/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java b/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
index 58bda66..c9c8ed4 100644
--- a/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
+++ b/components/camel-aws2-sqs/src/main/java/org/apache/camel/component/aws2/sqs/Sqs2Configuration.java
@@ -94,7 +94,7 @@ public class Sqs2Configuration implements Cloneable {
     @UriParam(label = "producer")
     private Sqs2Operations operation;
     @UriParam(label = "producer", defaultValue = ",")
-    private String batchSeparator;
+    private String batchSeparator = ",";
 
     // queue properties
     @UriParam(label = "queue")
@@ -573,23 +573,23 @@ public class Sqs2Configuration implements Cloneable {
     public void setUseDefaultCredentialsProvider(boolean useDefaultCredentialsProvider) {
         this.useDefaultCredentialsProvider = useDefaultCredentialsProvider;
     }
-    
+
     public String getBatchSeparator() {
-		return batchSeparator;
-	}
+        return batchSeparator;
+    }
 
     /**
      * Set the separator when passing a String to send batch message operation
      */
-	public void setBatchSeparator(String batchSeparator) {
-		this.batchSeparator = batchSeparator;
-	}    
+    public void setBatchSeparator(String batchSeparator) {
+        this.batchSeparator = batchSeparator;
+    }
 
     // *************************************************
     //
     // *************************************************
 
-	public Sqs2Configuration copy() {
+    public Sqs2Configuration copy() {
         try {
             return (Sqs2Configuration) super.clone();
         } catch (CloneNotSupportedException e) {
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SqsComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SqsComponentBuilderFactory.java
index d83549b..d3f6f33 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SqsComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2SqsComponentBuilderFactory.java
@@ -438,6 +438,23 @@ public interface Aws2SqsComponentBuilderFactory {
             return this;
         }
         /**
+         * Set the separator when passing a String to send batch message
+         * operation.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: ,
+         * Group: producer
+         * 
+         * @param batchSeparator the value to set
+         * @return the dsl builder
+         */
+        default Aws2SqsComponentBuilder batchSeparator(
+                java.lang.String batchSeparator) {
+            doSetProperty("batchSeparator", batchSeparator);
+            return this;
+        }
+        /**
          * Delay sending messages for a number of seconds.
          * 
          * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
@@ -768,6 +785,7 @@ public interface Aws2SqsComponentBuilderFactory {
             case "serverSideEncryptionEnabled": getOrCreateConfiguration((Sqs2Component) component).setServerSideEncryptionEnabled((boolean) value); return true;
             case "visibilityTimeout": getOrCreateConfiguration((Sqs2Component) component).setVisibilityTimeout((java.lang.Integer) value); return true;
             case "waitTimeSeconds": getOrCreateConfiguration((Sqs2Component) component).setWaitTimeSeconds((java.lang.Integer) value); return true;
+            case "batchSeparator": getOrCreateConfiguration((Sqs2Component) component).setBatchSeparator((java.lang.String) value); return true;
             case "delaySeconds": getOrCreateConfiguration((Sqs2Component) component).setDelaySeconds((java.lang.Integer) value); return true;
             case "lazyStartProducer": ((Sqs2Component) component).setLazyStartProducer((boolean) value); return true;
             case "messageDeduplicationIdStrategy": getOrCreateConfiguration((Sqs2Component) component).setMessageDeduplicationIdStrategy((java.lang.String) value); return true;
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Sqs2EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Sqs2EndpointBuilderFactory.java
index 0bf6317..1fa2f57 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Sqs2EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Sqs2EndpointBuilderFactory.java
@@ -1918,6 +1918,22 @@ public interface Sqs2EndpointBuilderFactory {
             return this;
         }
         /**
+         * Set the separator when passing a String to send batch message
+         * operation.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Default: ,
+         * Group: producer
+         * 
+         * @param batchSeparator the value to set
+         * @return the dsl builder
+         */
+        default Sqs2EndpointProducerBuilder batchSeparator(String batchSeparator) {
+            doSetProperty("batchSeparator", batchSeparator);
+            return this;
+        }
+        /**
          * Delay sending messages for a number of seconds.
          * 
          * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
diff --git a/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc b/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc
index 917f487..d766b6f 100644
--- a/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws2-sqs-component.adoc
@@ -45,7 +45,7 @@ The queue will be created if they don't already exists. +
 
 
 // component options: START
-The AWS 2 Simple Queue Service (SQS) component supports 40 options, which are listed below.
+The AWS 2 Simple Queue Service (SQS) component supports 41 options, which are listed below.
 
 
 
@@ -75,6 +75,7 @@ The AWS 2 Simple Queue Service (SQS) component supports 40 options, which are li
 | *serverSideEncryptionEnabled* (consumer) | Define if Server Side Encryption is enabled or not on the queue | false | boolean
 | *visibilityTimeout* (consumer) | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
 | *waitTimeSeconds* (consumer) | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
+| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
 | *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String
@@ -121,7 +122,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (58 parameters):
+=== Query Parameters (59 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -155,6 +156,7 @@ with the following path and query parameters:
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. There are 3 enums and the value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
 | *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPollStrategy
+| *batchSeparator* (producer) | Set the separator when passing a String to send batch message operation | , | String
 | *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
 | *messageDeduplicationIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. There are 2 enums and the value can be one of: useExchangeId, useContentBasedDeduplication | useExchangeId | String