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 2020/05/20 14:41:12 UTC

[camel-kafka-connector] 01/01: Bump to Camel 3.3.0

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

acosentino pushed a commit to branch camel-3.3.0
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git

commit 8a5a6449ea1b58c75efac8fce0275819593ebb71
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed May 20 15:33:14 2020 +0200

    Bump to Camel 3.3.0
---
 .../docs/camel-activemq-kafka-sink-connector.adoc  |   8 +-
 .../camel-activemq-kafka-source-connector.adoc     |  11 +-
 .../activemq/CamelActivemqSinkConnectorConfig.java |  20 +-
 .../CamelActivemqSourceConnectorConfig.java        |  24 +--
 .../main/docs/camel-amqp-kafka-sink-connector.adoc |   2 +-
 .../docs/camel-amqp-kafka-source-connector.adoc    |   5 +-
 .../amqp/CamelAmqpSinkConnectorConfig.java         |   2 +-
 .../amqp/CamelAmqpSourceConnectorConfig.java       |   6 +-
 .../docs/camel-atom-kafka-source-connector.adoc    |   2 +-
 .../atom/CamelAtomSourceConnectorConfig.java       |   2 +-
 .../docs/camel-aws-s3-kafka-sink-connector.adoc    |   4 +-
 .../docs/camel-aws-s3-kafka-source-connector.adoc  |   4 +-
 .../awss3/CamelAwss3SinkConnectorConfig.java       |   4 +-
 .../awss3/CamelAwss3SourceConnectorConfig.java     |   4 +-
 .../docs/camel-aws2-ec2-kafka-sink-connector.adoc  |   8 +-
 .../aws2ec2/CamelAws2ec2SinkConnectorConfig.java   |  12 +-
 .../docs/camel-aws2-ecs-kafka-sink-connector.adoc  |   4 +-
 .../aws2ecs/CamelAws2ecsSinkConnectorConfig.java   |   8 +
 .../docs/camel-aws2-eks-kafka-sink-connector.adoc  |   4 +-
 .../aws2eks/CamelAws2eksSinkConnectorConfig.java   |   8 +
 .../docs/camel-aws2-iam-kafka-sink-connector.adoc  |   4 +-
 .../aws2iam/CamelAws2iamSinkConnectorConfig.java   |   8 +
 .../docs/camel-aws2-kms-kafka-sink-connector.adoc  |   4 +-
 .../aws2kms/CamelAws2kmsSinkConnectorConfig.java   |   8 +
 .../camel-aws2-lambda-kafka-sink-connector.adoc    |   6 +-
 .../CamelAws2lambdaSinkConnectorConfig.java        |   8 +
 .../docs/camel-aws2-mq-kafka-sink-connector.adoc   |   4 +-
 .../aws2mq/CamelAws2mqSinkConnectorConfig.java     |   8 +
 .../docs/camel-aws2-msk-kafka-sink-connector.adoc  |   4 +-
 .../aws2msk/CamelAws2mskSinkConnectorConfig.java   |   8 +
 .../docs/camel-aws2-s3-kafka-sink-connector.adoc   |  14 +-
 .../docs/camel-aws2-s3-kafka-source-connector.adoc |  12 +-
 .../aws2s3/CamelAws2s3SinkConnectorConfig.java     |  40 ++++
 .../aws2s3/CamelAws2s3SourceConnectorConfig.java   |  32 ++++
 .../docs/camel-aws2-sqs-kafka-sink-connector.adoc  |   4 +-
 .../camel-aws2-sqs-kafka-source-connector.adoc     |   4 +-
 .../aws2sqs/CamelAws2sqsSinkConnectorConfig.java   |   4 +-
 .../aws2sqs/CamelAws2sqsSourceConnectorConfig.java |   4 +-
 .../camel-aws2-translate-kafka-sink-connector.adoc |   4 +-
 .../CamelAws2translateSinkConnectorConfig.java     |   8 +
 .../camel-azure-blob-kafka-sink-connector.adoc     |   4 +-
 .../camel-azure-blob-kafka-source-connector.adoc   |   4 +-
 .../CamelAzureblobSinkConnectorConfig.java         |   8 +
 .../CamelAzureblobSourceConnectorConfig.java       |   8 +
 .../camel-azure-queue-kafka-sink-connector.adoc    |   4 +-
 .../camel-azure-queue-kafka-source-connector.adoc  |   4 +-
 .../CamelAzurequeueSinkConnectorConfig.java        |   8 +
 .../CamelAzurequeueSourceConnectorConfig.java      |   8 +
 .../pom.xml                                        | 135 ++++++++++++++
 .../src/main/assembly/package.xml                  |  57 ++++++
 ...el-azure-storage-blob-kafka-sink-connector.adoc |  61 +++++++
 ...-azure-storage-blob-kafka-source-connector.adoc |  59 ++++++
 .../CamelAzurestorageblobSinkConnector.java        |  35 ++++
 .../CamelAzurestorageblobSinkConnectorConfig.java  | 177 ++++++++++++++++++
 .../CamelAzurestorageblobSinkTask.java             |  39 ++++
 .../CamelAzurestorageblobSourceConnector.java      |  37 ++++
 ...CamelAzurestorageblobSourceConnectorConfig.java | 169 +++++++++++++++++
 .../CamelAzurestorageblobSourceTask.java           |  39 ++++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 +++++++++++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 ++
 .../pom.xml                                        | 135 ++++++++++++++
 .../src/main/assembly/package.xml                  |  57 ++++++
 ...l-azure-storage-queue-kafka-sink-connector.adoc |  52 ++++++
 ...azure-storage-queue-kafka-source-connector.adoc |  52 ++++++
 .../CamelAzurestoragequeueSinkConnector.java       |  35 ++++
 .../CamelAzurestoragequeueSinkConnectorConfig.java | 141 ++++++++++++++
 .../CamelAzurestoragequeueSinkTask.java            |  39 ++++
 .../CamelAzurestoragequeueSourceConnector.java     |  37 ++++
 ...amelAzurestoragequeueSourceConnectorConfig.java | 141 ++++++++++++++
 .../CamelAzurestoragequeueSourceTask.java          |  39 ++++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 +++++++++++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 ++
 .../docs/camel-chunk-kafka-sink-connector.adoc     |   4 +-
 .../chunk/CamelChunkSinkConnectorConfig.java       |   8 +
 connectors/camel-djl-kafka-connector/pom.xml       | 135 ++++++++++++++
 .../src/main/assembly/package.xml                  |  57 ++++++
 .../main/docs/camel-djl-kafka-sink-connector.adoc  |  37 ++++
 .../kafkaconnector/djl/CamelDjlSinkConnector.java  |  35 ++++
 .../djl/CamelDjlSinkConnectorConfig.java           |  78 ++++++++
 .../camel/kafkaconnector/djl/CamelDjlSinkTask.java |  39 ++++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 +++++++++++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 ++
 .../camel-freemarker-kafka-sink-connector.adoc     |   4 +-
 .../CamelFreemarkerSinkConnectorConfig.java        |   8 +
 .../docs/camel-jms-kafka-source-connector.adoc     |   3 +-
 .../jms/CamelJmsSourceConnectorConfig.java         |   4 -
 .../main/docs/camel-jolt-kafka-sink-connector.adoc |   4 +-
 .../jolt/CamelJoltSinkConnectorConfig.java         |   8 +
 .../main/docs/camel-jslt-kafka-sink-connector.adoc |   4 +-
 .../jslt/CamelJsltSinkConnectorConfig.java         |   8 +
 .../docs/camel-kafka-kafka-sink-connector.adoc     |  12 +-
 .../docs/camel-kafka-kafka-source-connector.adoc   |  12 +-
 .../kafka/CamelKafkaSinkConnectorConfig.java       |  16 +-
 .../kafka/CamelKafkaSourceConnectorConfig.java     |  16 +-
 .../camel-mongodb-gridfs-kafka-sink-connector.adoc |   6 +-
 ...amel-mongodb-gridfs-kafka-source-connector.adoc |   4 +-
 .../CamelMongodbgridfsSinkConnectorConfig.java     |   6 +-
 .../CamelMongodbgridfsSourceConnectorConfig.java   |   4 +-
 .../docs/camel-mustache-kafka-sink-connector.adoc  |   4 +-
 .../mustache/CamelMustacheSinkConnectorConfig.java |   8 +
 .../main/docs/camel-mvel-kafka-sink-connector.adoc |   4 +-
 .../mvel/CamelMvelSinkConnectorConfig.java         |   8 +
 .../main/docs/camel-nats-kafka-sink-connector.adoc |   2 +-
 .../docs/camel-nats-kafka-source-connector.adoc    |   2 +-
 .../nats/CamelNatsSinkConnectorConfig.java         |   2 +-
 .../nats/CamelNatsSourceConnectorConfig.java       |   2 +-
 .../camel-robotframework-kafka-sink-connector.adoc |   4 +-
 ...amel-robotframework-kafka-source-connector.adoc |   4 +-
 .../CamelRobotframeworkSinkConnectorConfig.java    |   8 +
 .../CamelRobotframeworkSourceConnectorConfig.java  |   8 +
 .../docs/camel-rss-kafka-source-connector.adoc     |   2 +-
 .../rss/CamelRssSourceConnectorConfig.java         |   2 +-
 .../camel-salesforce-kafka-sink-connector.adoc     |  16 +-
 .../camel-salesforce-kafka-source-connector.adoc   |  16 +-
 .../CamelSalesforceSinkConnectorConfig.java        |  20 +-
 .../CamelSalesforceSourceConnectorConfig.java      |  20 +-
 .../main/docs/camel-sftp-kafka-sink-connector.adoc |   3 +-
 .../docs/camel-sftp-kafka-source-connector.adoc    |   3 +-
 .../sftp/CamelSftpSinkConnectorConfig.java         |   4 +
 .../sftp/CamelSftpSourceConnectorConfig.java       |   4 +
 .../camel-splunk-hec-kafka-connector/pom.xml       | 135 ++++++++++++++
 .../src/main/assembly/package.xml                  |  57 ++++++
 .../camel-splunk-hec-kafka-sink-connector.adoc}    |  30 +--
 .../splunkhec/CamelSplunkhecSinkConnector.java     |  35 ++++
 .../CamelSplunkhecSinkConnectorConfig.java         |  96 ++++++++++
 .../splunkhec/CamelSplunkhecSinkTask.java          |  39 ++++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 +++++++++++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 ++
 ...camel-string-template-kafka-sink-connector.adoc |   4 +-
 .../CamelStringtemplateSinkConnectorConfig.java    |   8 +
 .../docs/camel-velocity-kafka-sink-connector.adoc  |   4 +-
 .../velocity/CamelVelocitySinkConnectorConfig.java |   8 +
 connectors/pom.xml                                 |   6 +-
 docs/modules/ROOT/pages/connectors.adoc            |   6 +-
 .../camel-activemq-kafka-sink-connector.adoc       |   8 +-
 .../camel-activemq-kafka-source-connector.adoc     |  11 +-
 .../camel-amqp-kafka-sink-connector.adoc           |   2 +-
 .../camel-amqp-kafka-source-connector.adoc         |   5 +-
 .../camel-atom-kafka-source-connector.adoc         |   2 +-
 .../camel-aws-s3-kafka-sink-connector.adoc         |   4 +-
 .../camel-aws-s3-kafka-source-connector.adoc       |   4 +-
 .../camel-aws2-ec2-kafka-sink-connector.adoc       |   8 +-
 .../camel-aws2-ecs-kafka-sink-connector.adoc       |   4 +-
 .../camel-aws2-eks-kafka-sink-connector.adoc       |   4 +-
 .../camel-aws2-iam-kafka-sink-connector.adoc       |   4 +-
 .../camel-aws2-kms-kafka-sink-connector.adoc       |   4 +-
 .../camel-aws2-lambda-kafka-sink-connector.adoc    |   6 +-
 .../camel-aws2-mq-kafka-sink-connector.adoc        |   4 +-
 .../camel-aws2-msk-kafka-sink-connector.adoc       |   4 +-
 .../camel-aws2-s3-kafka-sink-connector.adoc        |  14 +-
 .../camel-aws2-s3-kafka-source-connector.adoc      |  12 +-
 .../camel-aws2-sqs-kafka-sink-connector.adoc       |   4 +-
 .../camel-aws2-sqs-kafka-source-connector.adoc     |   4 +-
 .../camel-aws2-translate-kafka-sink-connector.adoc |   4 +-
 .../camel-azure-blob-kafka-sink-connector.adoc     |   4 +-
 .../camel-azure-blob-kafka-source-connector.adoc   |   4 +-
 .../camel-azure-queue-kafka-sink-connector.adoc    |   4 +-
 .../camel-azure-queue-kafka-source-connector.adoc  |   4 +-
 ...el-azure-storage-blob-kafka-sink-connector.adoc |  61 +++++++
 ...-azure-storage-blob-kafka-source-connector.adoc |  59 ++++++
 ...l-azure-storage-queue-kafka-sink-connector.adoc |  52 ++++++
 ...azure-storage-queue-kafka-source-connector.adoc |  52 ++++++
 .../camel-chunk-kafka-sink-connector.adoc          |   4 +-
 .../connectors/camel-djl-kafka-sink-connector.adoc |  37 ++++
 .../camel-freemarker-kafka-sink-connector.adoc     |   4 +-
 .../camel-jms-kafka-source-connector.adoc          |   3 +-
 .../camel-jolt-kafka-sink-connector.adoc           |   4 +-
 .../camel-jslt-kafka-sink-connector.adoc           |   4 +-
 .../camel-kafka-kafka-sink-connector.adoc          |  12 +-
 .../camel-kafka-kafka-source-connector.adoc        |  12 +-
 .../camel-mongodb-gridfs-kafka-sink-connector.adoc |   6 +-
 ...amel-mongodb-gridfs-kafka-source-connector.adoc |   4 +-
 .../camel-mustache-kafka-sink-connector.adoc       |   4 +-
 .../camel-mvel-kafka-sink-connector.adoc           |   4 +-
 .../camel-nats-kafka-sink-connector.adoc           |   2 +-
 .../camel-nats-kafka-source-connector.adoc         |   2 +-
 .../camel-robotframework-kafka-sink-connector.adoc |   4 +-
 ...amel-robotframework-kafka-source-connector.adoc |   4 +-
 .../camel-rss-kafka-source-connector.adoc          |   2 +-
 .../camel-salesforce-kafka-sink-connector.adoc     |  16 +-
 .../camel-salesforce-kafka-source-connector.adoc   |  16 +-
 .../camel-sftp-kafka-sink-connector.adoc           |   3 +-
 .../camel-sftp-kafka-source-connector.adoc         |   3 +-
 .../camel-splunk-hec-kafka-sink-connector.adoc     |  30 +--
 ...camel-string-template-kafka-sink-connector.adoc |   4 +-
 .../camel-velocity-kafka-sink-connector.adoc       |   4 +-
 186 files changed, 4099 insertions(+), 297 deletions(-)

diff --git a/connectors/camel-activemq-kafka-connector/src/main/docs/camel-activemq-kafka-sink-connector.adoc b/connectors/camel-activemq-kafka-connector/src/main/docs/camel-activemq-kafka-sink-connector.adoc
index 28a3ffd..6a93bc2 100644
--- a/connectors/camel-activemq-kafka-connector/src/main/docs/camel-activemq-kafka-sink-connector.adoc
+++ b/connectors/camel-activemq-kafka-connector/src/main/docs/camel-activemq-kafka-sink-connector.adoc
@@ -92,16 +92,14 @@ The camel-activemq sink connector supports 145 options, which are listed below.
 | *camel.sink.endpoint.transactionManager* | The Spring transaction manager to use. | null | MEDIUM
 | *camel.sink.endpoint.transactionName* | The name of the transaction to use. | null | MEDIUM
 | *camel.sink.endpoint.transactionTimeout* | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | MEDIUM
-| *camel.component.activemq.brokerURL* | Sets the broker URL to use to connect to ActiveMQ | null | MEDIUM
+| *camel.component.activemq.brokerURL* | Sets the broker URL to use to connect to ActiveMQ. If none configured then localhost:61616 is used by default (however can be overridden by configuration from environment variables) | null | MEDIUM
 | *camel.component.activemq.clientId* | Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. | null | MEDIUM
-| *camel.component.activemq.configuration* | Configuration of ActiveMQ | null | MEDIUM
 | *camel.component.activemq.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | MEDIUM
 | *camel.component.activemq.disableReplyTo* | Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between differen [...]
 | *camel.component.activemq.durableSubscriptionName* | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. | null | MEDIUM
 | *camel.component.activemq.jmsMessageType* | Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. One of: [Bytes] [Map] [Object] [Stream] [Text] | null | MEDIUM
 | *camel.component.activemq.testConnectionOnStartup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | MEDIUM
-| *camel.component.activemq.trustAllPackages* | Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care. | false | MEDIUM
-| *camel.component.activemq.usePooledConnection* | Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true. | false | MEDIUM
+| *camel.component.activemq.usePooledConnection* | Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true. | true | MEDIUM
 | *camel.component.activemq.useSingleConnection* | Enables or disables whether a Spring SingleConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is false and a pooled connection is used by default. | false | MEDIUM
 | *camel.component.activemq.deliveryDelay* | Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker. | -1L | MEDIUM
 | *camel.component.activemq.deliveryMode* | Specifies the delivery mode to be used. Possibles values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. One of: [1] [2] | null | MEDIUM
@@ -135,6 +133,7 @@ The camel-activemq sink connector supports 145 options, which are listed below.
 | *camel.component.activemq.asyncStartListener* | Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this optio [...]
 | *camel.component.activemq.asyncStopListener* | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | MEDIUM
 | *camel.component.activemq.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.activemq.configuration* | To use a shared JMS configuration | null | MEDIUM
 | *camel.component.activemq.destinationResolver* | A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry). | null | MEDIUM
 | *camel.component.activemq.errorHandler* | Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom [...]
 | *camel.component.activemq.exceptionListener* | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. | null | MEDIUM
@@ -156,6 +155,7 @@ The camel-activemq sink connector supports 145 options, which are listed below.
 | *camel.component.activemq.requestTimeoutChecker Interval* | Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout. | 1000L | MEDIUM
 | *camel.component.activemq.transferException* | If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a javax.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this optio [...]
 | *camel.component.activemq.transferExchange* | You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the pa [...]
+| *camel.component.activemq.trustAllPackages* | Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care. | false | MEDIUM
 | *camel.component.activemq.useMessageIDAs CorrelationID* | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | MEDIUM
 | *camel.component.activemq.waitForProvision CorrelationToBeUpdatedCounter* | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | MEDIUM
 | *camel.component.activemq.waitForProvision CorrelationToBeUpdatedThreadSleepingTime* | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100L | MEDIUM
diff --git a/connectors/camel-activemq-kafka-connector/src/main/docs/camel-activemq-kafka-source-connector.adoc b/connectors/camel-activemq-kafka-connector/src/main/docs/camel-activemq-kafka-source-connector.adoc
index 98a67ac..82c1d1c 100644
--- a/connectors/camel-activemq-kafka-connector/src/main/docs/camel-activemq-kafka-source-connector.adoc
+++ b/connectors/camel-activemq-kafka-connector/src/main/docs/camel-activemq-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-activemq-kafka-connector as source make sure to use the followi
 ----
 
 
-The camel-activemq source connector supports 146 options, which are listed below.
+The camel-activemq source connector supports 145 options, which are listed below.
 
 
 
@@ -93,21 +93,18 @@ The camel-activemq source connector supports 146 options, which are listed below
 | *camel.source.endpoint.transactionManager* | The Spring transaction manager to use. | null | MEDIUM
 | *camel.source.endpoint.transactionName* | The name of the transaction to use. | null | MEDIUM
 | *camel.source.endpoint.transactionTimeout* | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | MEDIUM
-| *camel.component.activemq.brokerURL* | Sets the broker URL to use to connect to ActiveMQ | null | MEDIUM
+| *camel.component.activemq.brokerURL* | Sets the broker URL to use to connect to ActiveMQ. If none configured then localhost:61616 is used by default (however can be overridden by configuration from environment variables) | null | MEDIUM
 | *camel.component.activemq.clientId* | Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. | null | MEDIUM
-| *camel.component.activemq.configuration* | Configuration of ActiveMQ | null | MEDIUM
 | *camel.component.activemq.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | MEDIUM
 | *camel.component.activemq.disableReplyTo* | Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between differen [...]
 | *camel.component.activemq.durableSubscriptionName* | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. | null | MEDIUM
 | *camel.component.activemq.jmsMessageType* | Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. One of: [Bytes] [Map] [Object] [Stream] [Text] | null | MEDIUM
 | *camel.component.activemq.testConnectionOnStartup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | MEDIUM
-| *camel.component.activemq.trustAllPackages* | Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care. | false | MEDIUM
-| *camel.component.activemq.usePooledConnection* | Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true. | false | MEDIUM
+| *camel.component.activemq.usePooledConnection* | Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true. | true | MEDIUM
 | *camel.component.activemq.useSingleConnection* | Enables or disables whether a Spring SingleConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is false and a pooled connection is used by default. | false | MEDIUM
 | *camel.component.activemq.acknowledgementModeName* | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE One of: [SESSION_TRANSACTED] [CLIENT_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [DUPS_OK_ACKNOWLEDGE] | "AUTO_ACKNOWLEDGE" | MEDIUM
 | *camel.component.activemq.asyncConsumer* | Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. N [...]
 | *camel.component.activemq.autoStartup* | Specifies whether the consumer container should auto-startup. | true | MEDIUM
-| *camel.component.activemq.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.activemq.cacheLevel* | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. | null | MEDIUM
 | *camel.component.activemq.cacheLevelName* | Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information. One of: [CACHE_AUTO] [CACHE_CONNECTION] [CACHE_CONSUMER] [CACHE_NONE] [CACHE_SESSION] | "CACHE_AUTO" | MEDIUM
 | *camel.component.activemq.concurrentConsumers* | Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. | 1 | MEDIUM
@@ -134,6 +131,7 @@ The camel-activemq source connector supports 146 options, which are listed below
 | *camel.component.activemq.asyncStartListener* | Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this optio [...]
 | *camel.component.activemq.asyncStopListener* | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | MEDIUM
 | *camel.component.activemq.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.activemq.configuration* | To use a shared JMS configuration | null | MEDIUM
 | *camel.component.activemq.destinationResolver* | A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry). | null | MEDIUM
 | *camel.component.activemq.errorHandler* | Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom [...]
 | *camel.component.activemq.exceptionListener* | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. | null | MEDIUM
@@ -155,6 +153,7 @@ The camel-activemq source connector supports 146 options, which are listed below
 | *camel.component.activemq.requestTimeoutChecker Interval* | Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout. | 1000L | MEDIUM
 | *camel.component.activemq.transferException* | If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a javax.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this optio [...]
 | *camel.component.activemq.transferExchange* | You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the pa [...]
+| *camel.component.activemq.trustAllPackages* | Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care. | false | MEDIUM
 | *camel.component.activemq.useMessageIDAs CorrelationID* | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | MEDIUM
 | *camel.component.activemq.waitForProvision CorrelationToBeUpdatedCounter* | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | MEDIUM
 | *camel.component.activemq.waitForProvision CorrelationToBeUpdatedThreadSleepingTime* | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100L | MEDIUM
diff --git a/connectors/camel-activemq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/activemq/CamelActivemqSinkConnectorConfig.java b/connectors/camel-activemq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/activemq/CamelActivemqSinkConnectorConfig.java
index d3a8b2a..48d739d 100644
--- a/connectors/camel-activemq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/activemq/CamelActivemqSinkConnectorConfig.java
+++ b/connectors/camel-activemq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/activemq/CamelActivemqSinkConnectorConfig.java
@@ -237,14 +237,11 @@ public class CamelActivemqSinkConnectorConfig
     public static final String CAMEL_SINK_ACTIVEMQ_ENDPOINT_TRANSACTION_TIMEOUT_DOC = "The timeout value of the transaction (in seconds), if using transacted mode.";
     public static final Integer CAMEL_SINK_ACTIVEMQ_ENDPOINT_TRANSACTION_TIMEOUT_DEFAULT = -1;
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_BROKER_URLCONF = "camel.component.activemq.brokerURL";
-    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_BROKER_URLDOC = "Sets the broker URL to use to connect to ActiveMQ";
+    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_BROKER_URLDOC = "Sets the broker URL to use to connect to ActiveMQ. If none configured then localhost:61616 is used by default (however can be overridden by configuration from environment variables)";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_BROKER_URLDEFAULT = null;
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CLIENT_ID_CONF = "camel.component.activemq.clientId";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CLIENT_ID_DOC = "Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead.";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CLIENT_ID_DEFAULT = null;
-    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_CONF = "camel.component.activemq.configuration";
-    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_DOC = "Configuration of ActiveMQ";
-    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_DEFAULT = null;
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_CONF = "camel.component.activemq.connectionFactory";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_DOC = "The connection factory to be use. A connection factory must be configured either on the component or endpoint.";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_DEFAULT = null;
@@ -260,12 +257,9 @@ public class CamelActivemqSinkConnectorConfig
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_CONF = "camel.component.activemq.testConnectionOnStartup";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DOC = "Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.";
     public static final Boolean CAMEL_SINK_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DEFAULT = false;
-    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_CONF = "camel.component.activemq.trustAllPackages";
-    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DOC = "Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care.";
-    public static final Boolean CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DEFAULT = false;
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_CONF = "camel.component.activemq.usePooledConnection";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_DOC = "Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true.";
-    public static final Boolean CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_DEFAULT = false;
+    public static final Boolean CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_DEFAULT = true;
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_CONF = "camel.component.activemq.useSingleConnection";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_DOC = "Enables or disables whether a Spring SingleConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is false and a pooled connection is used by default.";
     public static final Boolean CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_DEFAULT = false;
@@ -365,6 +359,9 @@ public class CamelActivemqSinkConnectorConfig
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.activemq.basicPropertyBinding";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
     public static final Boolean CAMEL_SINK_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_CONF = "camel.component.activemq.configuration";
+    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_DOC = "To use a shared JMS configuration";
+    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_DEFAULT = null;
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_CONF = "camel.component.activemq.destinationResolver";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_DOC = "A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry).";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_DEFAULT = null;
@@ -428,6 +425,9 @@ public class CamelActivemqSinkConnectorConfig
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_CONF = "camel.component.activemq.transferExchange";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_DOC = "You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer an [...]
     public static final Boolean CAMEL_SINK_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_DEFAULT = false;
+    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_CONF = "camel.component.activemq.trustAllPackages";
+    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DOC = "Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care.";
+    public static final Boolean CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DEFAULT = false;
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDCONF = "camel.component.activemq.useMessageIDAsCorrelationID";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDDOC = "Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.";
     public static final Boolean CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDDEFAULT = false;
@@ -546,13 +546,11 @@ public class CamelActivemqSinkConnectorConfig
         conf.define(CAMEL_SINK_ACTIVEMQ_ENDPOINT_TRANSACTION_TIMEOUT_CONF, ConfigDef.Type.INT, CAMEL_SINK_ACTIVEMQ_ENDPOINT_TRANSACTION_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_ENDPOINT_TRANSACTION_TIMEOUT_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_BROKER_URLCONF, ConfigDef.Type.STRING, CAMEL_SINK_ACTIVEMQ_COMPONENT_BROKER_URLDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_BROKER_URLDOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_CLIENT_ID_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ACTIVEMQ_COMPONENT_CLIENT_ID_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_CLIENT_ID_DOC);
-        conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_DISABLE_REPLY_TO_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_DISABLE_REPLY_TO_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_DISABLE_REPLY_TO_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_DURABLE_SUBSCRIPTION_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ACTIVEMQ_COMPONENT_DURABLE_SUBSCRIPTION_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_DURABLE_SUBSCRIPTION_NAME_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_JMS_MESSAGE_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ACTIVEMQ_COMPONENT_JMS_MESSAGE_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_JMS_MESSAGE_TYPE_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DOC);
-        conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_DELIVERY_DELAY_CONF, ConfigDef.Type.LONG, CAMEL_SINK_ACTIVEMQ_COMPONENT_DELIVERY_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_DELIVERY_DELAY_DOC);
@@ -587,6 +585,7 @@ public class CamelActivemqSinkConnectorConfig
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_ASYNC_START_LISTENER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_ASYNC_START_LISTENER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_ASYNC_START_LISTENER_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_ASYNC_STOP_LISTENER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_ASYNC_STOP_LISTENER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_ASYNC_STOP_LISTENER_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_ERROR_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ACTIVEMQ_COMPONENT_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_EXCEPTION_LISTENER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ACTIVEMQ_COMPONENT_EXCEPTION_LISTENER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_EXCEPTION_LISTENER_DOC);
@@ -608,6 +607,7 @@ public class CamelActivemqSinkConnectorConfig
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_REQUEST_TIMEOUT_CHECKER_INTERVAL_CONF, ConfigDef.Type.LONG, CAMEL_SINK_ACTIVEMQ_COMPONENT_REQUEST_TIMEOUT_CHECKER_INTERVAL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_REQUEST_TIMEOUT_CHECKER_INTERVAL_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_TRANSFER_EXCEPTION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_TRANSFER_EXCEPTION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_TRANSFER_EXCEPTION_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_DOC);
+        conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDCONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDDOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_COUNTER_CONF, ConfigDef.Type.INT, CAMEL_SINK_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_COUNTER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_COUNTER_DOC);
         conf.define(CAMEL_SINK_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_THREAD_SLEEPING_TIME_CONF, ConfigDef.Type.LONG, CAMEL_SINK_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_THREAD_SLEEPING_TIME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_THREAD_SLEEPING_TIME_DOC);
diff --git a/connectors/camel-activemq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/activemq/CamelActivemqSourceConnectorConfig.java b/connectors/camel-activemq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/activemq/CamelActivemqSourceConnectorConfig.java
index 52621e1..36657c7 100644
--- a/connectors/camel-activemq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/activemq/CamelActivemqSourceConnectorConfig.java
+++ b/connectors/camel-activemq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/activemq/CamelActivemqSourceConnectorConfig.java
@@ -240,14 +240,11 @@ public class CamelActivemqSourceConnectorConfig
     public static final String CAMEL_SOURCE_ACTIVEMQ_ENDPOINT_TRANSACTION_TIMEOUT_DOC = "The timeout value of the transaction (in seconds), if using transacted mode.";
     public static final Integer CAMEL_SOURCE_ACTIVEMQ_ENDPOINT_TRANSACTION_TIMEOUT_DEFAULT = -1;
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BROKER_URLCONF = "camel.component.activemq.brokerURL";
-    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BROKER_URLDOC = "Sets the broker URL to use to connect to ActiveMQ";
+    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BROKER_URLDOC = "Sets the broker URL to use to connect to ActiveMQ. If none configured then localhost:61616 is used by default (however can be overridden by configuration from environment variables)";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BROKER_URLDEFAULT = null;
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CLIENT_ID_CONF = "camel.component.activemq.clientId";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CLIENT_ID_DOC = "Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead.";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CLIENT_ID_DEFAULT = null;
-    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_CONF = "camel.component.activemq.configuration";
-    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_DOC = "Configuration of ActiveMQ";
-    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_DEFAULT = null;
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_CONF = "camel.component.activemq.connectionFactory";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_DOC = "The connection factory to be use. A connection factory must be configured either on the component or endpoint.";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_DEFAULT = null;
@@ -263,12 +260,9 @@ public class CamelActivemqSourceConnectorConfig
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_CONF = "camel.component.activemq.testConnectionOnStartup";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DOC = "Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.";
     public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DEFAULT = false;
-    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_CONF = "camel.component.activemq.trustAllPackages";
-    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DOC = "Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care.";
-    public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DEFAULT = false;
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_CONF = "camel.component.activemq.usePooledConnection";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_DOC = "Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true.";
-    public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_DEFAULT = false;
+    public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_DEFAULT = true;
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_CONF = "camel.component.activemq.useSingleConnection";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_DOC = "Enables or disables whether a Spring SingleConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is false and a pooled connection is used by d [...]
     public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_DEFAULT = false;
@@ -281,9 +275,6 @@ public class CamelActivemqSourceConnectorConfig
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_AUTO_STARTUP_CONF = "camel.component.activemq.autoStartup";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_AUTO_STARTUP_DOC = "Specifies whether the consumer container should auto-startup.";
     public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_AUTO_STARTUP_DEFAULT = true;
-    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BRIDGE_ERROR_HANDLER_CONF = "camel.component.activemq.bridgeErrorHandler";
-    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and i [...]
-    public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CACHE_LEVEL_CONF = "camel.component.activemq.cacheLevel";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CACHE_LEVEL_DOC = "Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details.";
     public static final Integer CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CACHE_LEVEL_DEFAULT = null;
@@ -362,6 +353,9 @@ public class CamelActivemqSourceConnectorConfig
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.activemq.basicPropertyBinding";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
     public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_CONF = "camel.component.activemq.configuration";
+    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_DOC = "To use a shared JMS configuration";
+    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_DEFAULT = null;
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_CONF = "camel.component.activemq.destinationResolver";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_DOC = "A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry).";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_DEFAULT = null;
@@ -425,6 +419,9 @@ public class CamelActivemqSourceConnectorConfig
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_CONF = "camel.component.activemq.transferExchange";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_DOC = "You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer  [...]
     public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_DEFAULT = false;
+    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_CONF = "camel.component.activemq.trustAllPackages";
+    public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DOC = "Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care.";
+    public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DEFAULT = false;
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDCONF = "camel.component.activemq.useMessageIDAsCorrelationID";
     public static final String CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDDOC = "Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages.";
     public static final Boolean CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDDEFAULT = false;
@@ -550,19 +547,16 @@ public class CamelActivemqSourceConnectorConfig
         conf.define(CAMEL_SOURCE_ACTIVEMQ_ENDPOINT_TRANSACTION_TIMEOUT_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_ACTIVEMQ_ENDPOINT_TRANSACTION_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_ENDPOINT_TRANSACTION_TIMEOUT_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BROKER_URLCONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BROKER_URLDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BROKER_URLDOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CLIENT_ID_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CLIENT_ID_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CLIENT_ID_DOC);
-        conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONNECTION_FACTORY_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DISABLE_REPLY_TO_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DISABLE_REPLY_TO_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DISABLE_REPLY_TO_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DURABLE_SUBSCRIPTION_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DURABLE_SUBSCRIPTION_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DURABLE_SUBSCRIPTION_NAME_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_JMS_MESSAGE_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_JMS_MESSAGE_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_JMS_MESSAGE_TYPE_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DOC);
-        conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_POOLED_CONNECTION_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_SINGLE_CONNECTION_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ACKNOWLEDGEMENT_MODE_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ACKNOWLEDGEMENT_MODE_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ACKNOWLEDGEMENT_MODE_NAME_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ASYNC_CONSUMER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ASYNC_CONSUMER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ASYNC_CONSUMER_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_AUTO_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_AUTO_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_AUTO_STARTUP_DOC);
-        conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BRIDGE_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CACHE_LEVEL_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CACHE_LEVEL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CACHE_LEVEL_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CACHE_LEVEL_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CACHE_LEVEL_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CACHE_LEVEL_NAME_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONCURRENT_CONSUMERS_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONCURRENT_CONSUMERS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONCURRENT_CONSUMERS_DOC);
@@ -589,6 +583,7 @@ public class CamelActivemqSourceConnectorConfig
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ASYNC_START_LISTENER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ASYNC_START_LISTENER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ASYNC_START_LISTENER_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ASYNC_STOP_LISTENER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ASYNC_STOP_LISTENER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ASYNC_STOP_LISTENER_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_DESTINATION_RESOLVER_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ERROR_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_EXCEPTION_LISTENER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_EXCEPTION_LISTENER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_EXCEPTION_LISTENER_DOC);
@@ -610,6 +605,7 @@ public class CamelActivemqSourceConnectorConfig
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_REQUEST_TIMEOUT_CHECKER_INTERVAL_CONF, ConfigDef.Type.LONG, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_REQUEST_TIMEOUT_CHECKER_INTERVAL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_REQUEST_TIMEOUT_CHECKER_INTERVAL_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRANSFER_EXCEPTION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRANSFER_EXCEPTION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRANSFER_EXCEPTION_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRANSFER_EXCHANGE_DOC);
+        conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_TRUST_ALL_PACKAGES_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDCONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_USE_MESSAGE_IDAS_CORRELATION_IDDOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_COUNTER_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_COUNTER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_COUNTER_DOC);
         conf.define(CAMEL_SOURCE_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_THREAD_SLEEPING_TIME_CONF, ConfigDef.Type.LONG, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_THREAD_SLEEPING_TIME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ACTIVEMQ_COMPONENT_WAIT_FOR_PROVISION_CORRELATION_TO_BE_UPDATED_THREAD_SLEEPING_TIME_DOC);
diff --git a/connectors/camel-amqp-kafka-connector/src/main/docs/camel-amqp-kafka-sink-connector.adoc b/connectors/camel-amqp-kafka-connector/src/main/docs/camel-amqp-kafka-sink-connector.adoc
index 8de2676..29b709c 100644
--- a/connectors/camel-amqp-kafka-connector/src/main/docs/camel-amqp-kafka-sink-connector.adoc
+++ b/connectors/camel-amqp-kafka-connector/src/main/docs/camel-amqp-kafka-sink-connector.adoc
@@ -96,7 +96,7 @@ The camel-amqp sink connector supports 142 options, which are listed below.
 | *camel.component.amqp.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | MEDIUM
 | *camel.component.amqp.disableReplyTo* | Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different me [...]
 | *camel.component.amqp.durableSubscriptionName* | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. | null | MEDIUM
-| *camel.component.amqp.includeAmqpAnnotations* | Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true will map AMQP message annotations to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored. | false | MEDIUM
+| *camel.component.amqp.includeAmqpAnnotations* | Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true maps AMQP message annotations that contain a JMS_AMQP_MA_ prefix to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored. | false | MEDIUM
 | *camel.component.amqp.jmsMessageType* | Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. One of: [Bytes] [Map] [Object] [Stream] [Text] | null | MEDIUM
 | *camel.component.amqp.testConnectionOnStartup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | MEDIUM
 | *camel.component.amqp.deliveryDelay* | Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker. | -1L | MEDIUM
diff --git a/connectors/camel-amqp-kafka-connector/src/main/docs/camel-amqp-kafka-source-connector.adoc b/connectors/camel-amqp-kafka-connector/src/main/docs/camel-amqp-kafka-source-connector.adoc
index 66ec3fb..4a3e783 100644
--- a/connectors/camel-amqp-kafka-connector/src/main/docs/camel-amqp-kafka-source-connector.adoc
+++ b/connectors/camel-amqp-kafka-connector/src/main/docs/camel-amqp-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-amqp-kafka-connector as source make sure to use the following M
 ----
 
 
-The camel-amqp source connector supports 143 options, which are listed below.
+The camel-amqp source connector supports 142 options, which are listed below.
 
 
 
@@ -97,13 +97,12 @@ The camel-amqp source connector supports 143 options, which are listed below.
 | *camel.component.amqp.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | MEDIUM
 | *camel.component.amqp.disableReplyTo* | Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different me [...]
 | *camel.component.amqp.durableSubscriptionName* | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. | null | MEDIUM
-| *camel.component.amqp.includeAmqpAnnotations* | Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true will map AMQP message annotations to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored. | false | MEDIUM
+| *camel.component.amqp.includeAmqpAnnotations* | Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true maps AMQP message annotations that contain a JMS_AMQP_MA_ prefix to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored. | false | MEDIUM
 | *camel.component.amqp.jmsMessageType* | Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. One of: [Bytes] [Map] [Object] [Stream] [Text] | null | MEDIUM
 | *camel.component.amqp.testConnectionOnStartup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | MEDIUM
 | *camel.component.amqp.acknowledgementModeName* | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE One of: [SESSION_TRANSACTED] [CLIENT_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [DUPS_OK_ACKNOWLEDGE] | "AUTO_ACKNOWLEDGE" | MEDIUM
 | *camel.component.amqp.asyncConsumer* | Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note  [...]
 | *camel.component.amqp.autoStartup* | Specifies whether the consumer container should auto-startup. | true | MEDIUM
-| *camel.component.amqp.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.amqp.cacheLevel* | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. | null | MEDIUM
 | *camel.component.amqp.cacheLevelName* | Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information. One of: [CACHE_AUTO] [CACHE_CONNECTION] [CACHE_CONSUMER] [CACHE_NONE] [CACHE_SESSION] | "CACHE_AUTO" | MEDIUM
 | *camel.component.amqp.concurrentConsumers* | Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. | 1 | MEDIUM
diff --git a/connectors/camel-amqp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/amqp/CamelAmqpSinkConnectorConfig.java b/connectors/camel-amqp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/amqp/CamelAmqpSinkConnectorConfig.java
index 2b0abce..86b1005 100644
--- a/connectors/camel-amqp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/amqp/CamelAmqpSinkConnectorConfig.java
+++ b/connectors/camel-amqp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/amqp/CamelAmqpSinkConnectorConfig.java
@@ -247,7 +247,7 @@ public class CamelAmqpSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AMQP_COMPONENT_DURABLE_SUBSCRIPTION_NAME_DOC = "The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.";
     public static final String CAMEL_SINK_AMQP_COMPONENT_DURABLE_SUBSCRIPTION_NAME_DEFAULT = null;
     public static final String CAMEL_SINK_AMQP_COMPONENT_INCLUDE_AMQP_ANNOTATIONS_CONF = "camel.component.amqp.includeAmqpAnnotations";
-    public static final String CAMEL_SINK_AMQP_COMPONENT_INCLUDE_AMQP_ANNOTATIONS_DOC = "Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true will map AMQP message annotations to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored.";
+    public static final String CAMEL_SINK_AMQP_COMPONENT_INCLUDE_AMQP_ANNOTATIONS_DOC = "Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true maps AMQP message annotations that contain a JMS_AMQP_MA_ prefix to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored.";
     public static final Boolean CAMEL_SINK_AMQP_COMPONENT_INCLUDE_AMQP_ANNOTATIONS_DEFAULT = false;
     public static final String CAMEL_SINK_AMQP_COMPONENT_JMS_MESSAGE_TYPE_CONF = "camel.component.amqp.jmsMessageType";
     public static final String CAMEL_SINK_AMQP_COMPONENT_JMS_MESSAGE_TYPE_DOC = "Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. One of: [Bytes] [Map] [Object] [Stream] [Text]";
diff --git a/connectors/camel-amqp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/amqp/CamelAmqpSourceConnectorConfig.java b/connectors/camel-amqp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/amqp/CamelAmqpSourceConnectorConfig.java
index fc0049f..9ab361d 100644
--- a/connectors/camel-amqp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/amqp/CamelAmqpSourceConnectorConfig.java
+++ b/connectors/camel-amqp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/amqp/CamelAmqpSourceConnectorConfig.java
@@ -252,7 +252,7 @@ public class CamelAmqpSourceConnectorConfig
     public static final String CAMEL_SOURCE_AMQP_COMPONENT_DURABLE_SUBSCRIPTION_NAME_DOC = "The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well.";
     public static final String CAMEL_SOURCE_AMQP_COMPONENT_DURABLE_SUBSCRIPTION_NAME_DEFAULT = null;
     public static final String CAMEL_SOURCE_AMQP_COMPONENT_INCLUDE_AMQP_ANNOTATIONS_CONF = "camel.component.amqp.includeAmqpAnnotations";
-    public static final String CAMEL_SOURCE_AMQP_COMPONENT_INCLUDE_AMQP_ANNOTATIONS_DOC = "Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true will map AMQP message annotations to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored.";
+    public static final String CAMEL_SOURCE_AMQP_COMPONENT_INCLUDE_AMQP_ANNOTATIONS_DOC = "Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true maps AMQP message annotations that contain a JMS_AMQP_MA_ prefix to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored.";
     public static final Boolean CAMEL_SOURCE_AMQP_COMPONENT_INCLUDE_AMQP_ANNOTATIONS_DEFAULT = false;
     public static final String CAMEL_SOURCE_AMQP_COMPONENT_JMS_MESSAGE_TYPE_CONF = "camel.component.amqp.jmsMessageType";
     public static final String CAMEL_SOURCE_AMQP_COMPONENT_JMS_MESSAGE_TYPE_DOC = "Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. One of: [Bytes] [Map] [Object] [Stream] [Text]";
@@ -269,9 +269,6 @@ public class CamelAmqpSourceConnectorConfig
     public static final String CAMEL_SOURCE_AMQP_COMPONENT_AUTO_STARTUP_CONF = "camel.component.amqp.autoStartup";
     public static final String CAMEL_SOURCE_AMQP_COMPONENT_AUTO_STARTUP_DOC = "Specifies whether the consumer container should auto-startup.";
     public static final Boolean CAMEL_SOURCE_AMQP_COMPONENT_AUTO_STARTUP_DEFAULT = true;
-    public static final String CAMEL_SOURCE_AMQP_COMPONENT_BRIDGE_ERROR_HANDLER_CONF = "camel.component.amqp.bridgeErrorHandler";
-    public static final String CAMEL_SOURCE_AMQP_COMPONENT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.";
-    public static final Boolean CAMEL_SOURCE_AMQP_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
     public static final String CAMEL_SOURCE_AMQP_COMPONENT_CACHE_LEVEL_CONF = "camel.component.amqp.cacheLevel";
     public static final String CAMEL_SOURCE_AMQP_COMPONENT_CACHE_LEVEL_DOC = "Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details.";
     public static final Integer CAMEL_SOURCE_AMQP_COMPONENT_CACHE_LEVEL_DEFAULT = null;
@@ -549,7 +546,6 @@ public class CamelAmqpSourceConnectorConfig
         conf.define(CAMEL_SOURCE_AMQP_COMPONENT_ACKNOWLEDGEMENT_MODE_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AMQP_COMPONENT_ACKNOWLEDGEMENT_MODE_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AMQP_COMPONENT_ACKNOWLEDGEMENT_MODE_NAME_DOC);
         conf.define(CAMEL_SOURCE_AMQP_COMPONENT_ASYNC_CONSUMER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AMQP_COMPONENT_ASYNC_CONSUMER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AMQP_COMPONENT_ASYNC_CONSUMER_DOC);
         conf.define(CAMEL_SOURCE_AMQP_COMPONENT_AUTO_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AMQP_COMPONENT_AUTO_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AMQP_COMPONENT_AUTO_STARTUP_DOC);
-        conf.define(CAMEL_SOURCE_AMQP_COMPONENT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AMQP_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AMQP_COMPONENT_BRIDGE_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_AMQP_COMPONENT_CACHE_LEVEL_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_AMQP_COMPONENT_CACHE_LEVEL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AMQP_COMPONENT_CACHE_LEVEL_DOC);
         conf.define(CAMEL_SOURCE_AMQP_COMPONENT_CACHE_LEVEL_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AMQP_COMPONENT_CACHE_LEVEL_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AMQP_COMPONENT_CACHE_LEVEL_NAME_DOC);
         conf.define(CAMEL_SOURCE_AMQP_COMPONENT_CONCURRENT_CONSUMERS_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_AMQP_COMPONENT_CONCURRENT_CONSUMERS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AMQP_COMPONENT_CONCURRENT_CONSUMERS_DOC);
diff --git a/connectors/camel-atom-kafka-connector/src/main/docs/camel-atom-kafka-source-connector.adoc b/connectors/camel-atom-kafka-connector/src/main/docs/camel-atom-kafka-source-connector.adoc
index 3a4e5e9..ac497f2 100644
--- a/connectors/camel-atom-kafka-connector/src/main/docs/camel-atom-kafka-source-connector.adoc
+++ b/connectors/camel-atom-kafka-connector/src/main/docs/camel-atom-kafka-source-connector.adoc
@@ -31,7 +31,7 @@ The camel-atom source connector supports 32 options, which are listed below.
 | *camel.source.endpoint.sendEmptyMessageWhenIdle* | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | MEDIUM
 | *camel.source.endpoint.sortEntries* | Sets whether to sort entries by published date. Only works when splitEntries = true. | false | MEDIUM
 | *camel.source.endpoint.splitEntries* | Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message | true | MEDIUM
-| *camel.source.endpoint.throttleEntries* | Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries = true. | true | MEDIUM
+| *camel.source.endpoint.throttleEntries* | Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true. | true | MEDIUM
 | *camel.source.endpoint.username* | Sets the username to be used for basic authentication when polling from a HTTP feed. | null | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
 | *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
diff --git a/connectors/camel-atom-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/atom/CamelAtomSourceConnectorConfig.java b/connectors/camel-atom-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/atom/CamelAtomSourceConnectorConfig.java
index b68533c..b8c2e77 100644
--- a/connectors/camel-atom-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/atom/CamelAtomSourceConnectorConfig.java
+++ b/connectors/camel-atom-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/atom/CamelAtomSourceConnectorConfig.java
@@ -54,7 +54,7 @@ public class CamelAtomSourceConnectorConfig
     public static final String CAMEL_SOURCE_ATOM_ENDPOINT_SPLIT_ENTRIES_DOC = "Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message";
     public static final Boolean CAMEL_SOURCE_ATOM_ENDPOINT_SPLIT_ENTRIES_DEFAULT = true;
     public static final String CAMEL_SOURCE_ATOM_ENDPOINT_THROTTLE_ENTRIES_CONF = "camel.source.endpoint.throttleEntries";
-    public static final String CAMEL_SOURCE_ATOM_ENDPOINT_THROTTLE_ENTRIES_DOC = "Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries = true.";
+    public static final String CAMEL_SOURCE_ATOM_ENDPOINT_THROTTLE_ENTRIES_DOC = "Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true.";
     public static final Boolean CAMEL_SOURCE_ATOM_ENDPOINT_THROTTLE_ENTRIES_DEFAULT = true;
     public static final String CAMEL_SOURCE_ATOM_ENDPOINT_USERNAME_CONF = "camel.source.endpoint.username";
     public static final String CAMEL_SOURCE_ATOM_ENDPOINT_USERNAME_DOC = "Sets the username to be used for basic authentication when polling from a HTTP feed.";
diff --git a/connectors/camel-aws-s3-kafka-connector/src/main/docs/camel-aws-s3-kafka-sink-connector.adoc b/connectors/camel-aws-s3-kafka-connector/src/main/docs/camel-aws-s3-kafka-sink-connector.adoc
index 9fdd5f7..8082861 100644
--- a/connectors/camel-aws-s3-kafka-connector/src/main/docs/camel-aws-s3-kafka-sink-connector.adoc
+++ b/connectors/camel-aws-s3-kafka-connector/src/main/docs/camel-aws-s3-kafka-sink-connector.adoc
@@ -28,7 +28,7 @@ The camel-aws-s3 sink connector supports 63 options, which are listed below.
 | *camel.sink.endpoint.endpointConfiguration* | Amazon AWS Endpoint Configuration | null | MEDIUM
 | *camel.sink.endpoint.pathStyleAccess* | Whether or not the S3 client should use path style access | false | MEDIUM
 | *camel.sink.endpoint.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
-| *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
+| *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the S3 client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the S3 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.sink.endpoint.region* | The region in which S3 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
@@ -60,7 +60,7 @@ The camel-aws-s3 sink connector supports 63 options, which are listed below.
 | *camel.component.aws-s3.endpointConfiguration* | Amazon AWS Endpoint Configuration | null | MEDIUM
 | *camel.component.aws-s3.pathStyleAccess* | Whether or not the S3 client should use path style access | false | MEDIUM
 | *camel.component.aws-s3.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
-| *camel.component.aws-s3.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
+| *camel.component.aws-s3.proxyHost* | To define a proxy host when instantiating the S3 client | null | MEDIUM
 | *camel.component.aws-s3.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
 | *camel.component.aws-s3.proxyProtocol* | To define a proxy protocol when instantiating the S3 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.component.aws-s3.region* | The region in which S3 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
diff --git a/connectors/camel-aws-s3-kafka-connector/src/main/docs/camel-aws-s3-kafka-source-connector.adoc b/connectors/camel-aws-s3-kafka-connector/src/main/docs/camel-aws-s3-kafka-source-connector.adoc
index 91d41a7..b59fbad 100644
--- a/connectors/camel-aws-s3-kafka-connector/src/main/docs/camel-aws-s3-kafka-source-connector.adoc
+++ b/connectors/camel-aws-s3-kafka-connector/src/main/docs/camel-aws-s3-kafka-source-connector.adoc
@@ -28,7 +28,7 @@ The camel-aws-s3 source connector supports 77 options, which are listed below.
 | *camel.source.endpoint.endpointConfiguration* | Amazon AWS Endpoint Configuration | null | MEDIUM
 | *camel.source.endpoint.pathStyleAccess* | Whether or not the S3 client should use path style access | false | MEDIUM
 | *camel.source.endpoint.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
-| *camel.source.endpoint.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
+| *camel.source.endpoint.proxyHost* | To define a proxy host when instantiating the S3 client | null | MEDIUM
 | *camel.source.endpoint.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
 | *camel.source.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the S3 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.source.endpoint.region* | The region in which S3 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
@@ -77,7 +77,7 @@ The camel-aws-s3 source connector supports 77 options, which are listed below.
 | *camel.component.aws-s3.endpointConfiguration* | Amazon AWS Endpoint Configuration | null | MEDIUM
 | *camel.component.aws-s3.pathStyleAccess* | Whether or not the S3 client should use path style access | false | MEDIUM
 | *camel.component.aws-s3.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
-| *camel.component.aws-s3.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
+| *camel.component.aws-s3.proxyHost* | To define a proxy host when instantiating the S3 client | null | MEDIUM
 | *camel.component.aws-s3.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
 | *camel.component.aws-s3.proxyProtocol* | To define a proxy protocol when instantiating the S3 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.component.aws-s3.region* | The region in which S3 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
diff --git a/connectors/camel-aws-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3/CamelAwss3SinkConnectorConfig.java b/connectors/camel-aws-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3/CamelAwss3SinkConnectorConfig.java
index d701f7d..66e2e27 100644
--- a/connectors/camel-aws-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3/CamelAwss3SinkConnectorConfig.java
+++ b/connectors/camel-aws-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3/CamelAwss3SinkConnectorConfig.java
@@ -43,7 +43,7 @@ public class CamelAwss3SinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWSS3_ENDPOINT_POLICY_DOC = "The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method.";
     public static final String CAMEL_SINK_AWSS3_ENDPOINT_POLICY_DEFAULT = null;
     public static final String CAMEL_SINK_AWSS3_ENDPOINT_PROXY_HOST_CONF = "camel.sink.endpoint.proxyHost";
-    public static final String CAMEL_SINK_AWSS3_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the SQS client";
+    public static final String CAMEL_SINK_AWSS3_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the S3 client";
     public static final String CAMEL_SINK_AWSS3_ENDPOINT_PROXY_HOST_DEFAULT = null;
     public static final String CAMEL_SINK_AWSS3_ENDPOINT_PROXY_PORT_CONF = "camel.sink.endpoint.proxyPort";
     public static final String CAMEL_SINK_AWSS3_ENDPOINT_PROXY_PORT_DOC = "Specify a proxy port to be used inside the client definition.";
@@ -139,7 +139,7 @@ public class CamelAwss3SinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWSS3_COMPONENT_POLICY_DOC = "The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method.";
     public static final String CAMEL_SINK_AWSS3_COMPONENT_POLICY_DEFAULT = null;
     public static final String CAMEL_SINK_AWSS3_COMPONENT_PROXY_HOST_CONF = "camel.component.aws-s3.proxyHost";
-    public static final String CAMEL_SINK_AWSS3_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the SQS client";
+    public static final String CAMEL_SINK_AWSS3_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the S3 client";
     public static final String CAMEL_SINK_AWSS3_COMPONENT_PROXY_HOST_DEFAULT = null;
     public static final String CAMEL_SINK_AWSS3_COMPONENT_PROXY_PORT_CONF = "camel.component.aws-s3.proxyPort";
     public static final String CAMEL_SINK_AWSS3_COMPONENT_PROXY_PORT_DOC = "Specify a proxy port to be used inside the client definition.";
diff --git a/connectors/camel-aws-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3/CamelAwss3SourceConnectorConfig.java b/connectors/camel-aws-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3/CamelAwss3SourceConnectorConfig.java
index a824659..4fefb3a 100644
--- a/connectors/camel-aws-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3/CamelAwss3SourceConnectorConfig.java
+++ b/connectors/camel-aws-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/awss3/CamelAwss3SourceConnectorConfig.java
@@ -45,7 +45,7 @@ public class CamelAwss3SourceConnectorConfig
     public static final String CAMEL_SOURCE_AWSS3_ENDPOINT_POLICY_DOC = "The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method.";
     public static final String CAMEL_SOURCE_AWSS3_ENDPOINT_POLICY_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWSS3_ENDPOINT_PROXY_HOST_CONF = "camel.source.endpoint.proxyHost";
-    public static final String CAMEL_SOURCE_AWSS3_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the SQS client";
+    public static final String CAMEL_SOURCE_AWSS3_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the S3 client";
     public static final String CAMEL_SOURCE_AWSS3_ENDPOINT_PROXY_HOST_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWSS3_ENDPOINT_PROXY_PORT_CONF = "camel.source.endpoint.proxyPort";
     public static final String CAMEL_SOURCE_AWSS3_ENDPOINT_PROXY_PORT_DOC = "Specify a proxy port to be used inside the client definition.";
@@ -192,7 +192,7 @@ public class CamelAwss3SourceConnectorConfig
     public static final String CAMEL_SOURCE_AWSS3_COMPONENT_POLICY_DOC = "The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method.";
     public static final String CAMEL_SOURCE_AWSS3_COMPONENT_POLICY_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWSS3_COMPONENT_PROXY_HOST_CONF = "camel.component.aws-s3.proxyHost";
-    public static final String CAMEL_SOURCE_AWSS3_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the SQS client";
+    public static final String CAMEL_SOURCE_AWSS3_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the S3 client";
     public static final String CAMEL_SOURCE_AWSS3_COMPONENT_PROXY_HOST_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWSS3_COMPONENT_PROXY_PORT_CONF = "camel.component.aws-s3.proxyPort";
     public static final String CAMEL_SOURCE_AWSS3_COMPONENT_PROXY_PORT_DOC = "Specify a proxy port to be used inside the client definition.";
diff --git a/connectors/camel-aws2-ec2-kafka-connector/src/main/docs/camel-aws2-ec2-kafka-sink-connector.adoc b/connectors/camel-aws2-ec2-kafka-connector/src/main/docs/camel-aws2-ec2-kafka-sink-connector.adoc
index 2d3900a..6cce97f 100644
--- a/connectors/camel-aws2-ec2-kafka-connector/src/main/docs/camel-aws2-ec2-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-ec2-kafka-connector/src/main/docs/camel-aws2-ec2-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-ec2-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-ec2 sink connector supports 23 options, which are listed below.
+The camel-aws2-ec2 sink connector supports 25 options, which are listed below.
 
 
 
@@ -27,10 +27,11 @@ The camel-aws2-ec2 sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.amazonEc2Client* | To use a existing configured AmazonEC2Client as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags One of: [createAndRunInstances] [startInstances] [stopInstances] [terminateInstances] [describeInstances] [describeInstancesStatus] [rebootInstances] [monitorInstances] [unmonitorInstances] [createTags] [deleteTags] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the EC2 client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the EC2 client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the EC2 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
-| *camel.sink.endpoint.region* | The region in which EC2 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
+| *camel.sink.endpoint.region* | The region in which EC2 client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.sink.endpoint.secretKey* | Amazon AWS Secret Key | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
@@ -39,10 +40,11 @@ The camel-aws2-ec2 sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-ec2.configuration* | The component configuration | null | MEDIUM
 | *camel.component.aws2-ec2.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-ec2.operation* | The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags One of: [createAndRunInstances] [startInstances] [stopInstances] [terminateInstances] [describeInstances] [describeInstancesStatus] [rebootInstances] [monitorInstances] [unmonitorInstances] [createTags] [deleteTags] | [...]
+| *camel.component.aws2-ec2.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-ec2.proxyHost* | To define a proxy host when instantiating the EC2 client | null | MEDIUM
 | *camel.component.aws2-ec2.proxyPort* | To define a proxy port when instantiating the EC2 client | null | MEDIUM
 | *camel.component.aws2-ec2.proxyProtocol* | To define a proxy protocol when instantiating the EC2 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
-| *camel.component.aws2-ec2.region* | The region in which EC2 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
+| *camel.component.aws2-ec2.region* | The region in which EC2 client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.component.aws2-ec2.secretKey* | Amazon AWS Secret Key | null | MEDIUM
 | *camel.component.aws2-ec2.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 |===
diff --git a/connectors/camel-aws2-ec2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2ec2/CamelAws2ec2SinkConnectorConfig.java b/connectors/camel-aws2-ec2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2ec2/CamelAws2ec2SinkConnectorConfig.java
index f9e8643..c8909ca 100644
--- a/connectors/camel-aws2-ec2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2ec2/CamelAws2ec2SinkConnectorConfig.java
+++ b/connectors/camel-aws2-ec2-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2ec2/CamelAws2ec2SinkConnectorConfig.java
@@ -39,6 +39,9 @@ public class CamelAws2ec2SinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_OPERATION_DOC = "The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags One of: [createAndRunInstances] [startInstances] [stopInstances] [terminateInstances] [describeInstances] [describeInstancesStatus] [rebootInstances] [monitorInstances] [unmonitorIns [...]
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2EC2_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_HOST_CONF = "camel.sink.endpoint.proxyHost";
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the EC2 client";
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_HOST_DEFAULT = null;
@@ -49,7 +52,7 @@ public class CamelAws2ec2SinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_PROTOCOL_DOC = "To define a proxy protocol when instantiating the EC2 client One of: [HTTP] [HTTPS]";
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_PROTOCOL_DEFAULT = "HTTPS";
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_REGION_CONF = "camel.sink.endpoint.region";
-    public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_REGION_DOC = "The region in which EC2 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name()";
+    public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_REGION_DOC = "The region in which EC2 client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_REGION_DEFAULT = null;
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_SECRET_KEY_CONF = "camel.sink.endpoint.secretKey";
     public static final String CAMEL_SINK_AWS2EC2_ENDPOINT_SECRET_KEY_DOC = "Amazon AWS Secret Key";
@@ -75,6 +78,9 @@ public class CamelAws2ec2SinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_OPERATION_CONF = "camel.component.aws2-ec2.operation";
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_OPERATION_DOC = "The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags One of: [createAndRunInstances] [startInstances] [stopInstances] [terminateInstances] [describeInstances] [describeInstancesStatus] [rebootInstances] [monitorInstances] [unmonitorIn [...]
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2EC2_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-ec2.pojoRequest";
+    public static final String CAMEL_SINK_AWS2EC2_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2EC2_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_HOST_CONF = "camel.component.aws2-ec2.proxyHost";
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the EC2 client";
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_HOST_DEFAULT = null;
@@ -85,7 +91,7 @@ public class CamelAws2ec2SinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_PROTOCOL_DOC = "To define a proxy protocol when instantiating the EC2 client One of: [HTTP] [HTTPS]";
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_PROTOCOL_DEFAULT = "HTTPS";
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_REGION_CONF = "camel.component.aws2-ec2.region";
-    public static final String CAMEL_SINK_AWS2EC2_COMPONENT_REGION_DOC = "The region in which EC2 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name()";
+    public static final String CAMEL_SINK_AWS2EC2_COMPONENT_REGION_DOC = "The region in which EC2 client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_REGION_DEFAULT = null;
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_SECRET_KEY_CONF = "camel.component.aws2-ec2.secretKey";
     public static final String CAMEL_SINK_AWS2EC2_COMPONENT_SECRET_KEY_DOC = "Amazon AWS Secret Key";
@@ -111,6 +117,7 @@ public class CamelAws2ec2SinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2EC2_ENDPOINT_AMAZON_EC_2CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EC2_ENDPOINT_AMAZON_EC_2CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_ENDPOINT_AMAZON_EC_2CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2EC2_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2EC2_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2EC2_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EC2_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2EC2_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2EC2_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2EC2_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_ENDPOINT_PROXY_PROTOCOL_DOC);
@@ -123,6 +130,7 @@ public class CamelAws2ec2SinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2EC2_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EC2_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SINK_AWS2EC2_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2EC2_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2EC2_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EC2_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2EC2_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2EC2_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2EC2_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EC2_COMPONENT_PROXY_PROTOCOL_DOC);
diff --git a/connectors/camel-aws2-ecs-kafka-connector/src/main/docs/camel-aws2-ecs-kafka-sink-connector.adoc b/connectors/camel-aws2-ecs-kafka-connector/src/main/docs/camel-aws2-ecs-kafka-sink-connector.adoc
index 8998133..37cc657 100644
--- a/connectors/camel-aws2-ecs-kafka-connector/src/main/docs/camel-aws2-ecs-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-ecs-kafka-connector/src/main/docs/camel-aws2-ecs-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-ecs-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-ecs sink connector supports 23 options, which are listed below.
+The camel-aws2-ecs sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-ecs sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.ecsClient* | To use a existing configured AWS ECS as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the ECS client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the ECS client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the ECS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-ecs sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-ecs.ecsClient* | To use a existing configured AWS ECS as client | null | MEDIUM
 | *camel.component.aws2-ecs.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-ecs.operation* | The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster] | null | HIGH
+| *camel.component.aws2-ecs.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-ecs.proxyHost* | To define a proxy host when instantiating the ECS client | null | MEDIUM
 | *camel.component.aws2-ecs.proxyPort* | To define a proxy port when instantiating the ECS client | null | MEDIUM
 | *camel.component.aws2-ecs.proxyProtocol* | To define a proxy protocol when instantiating the ECS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/connectors/camel-aws2-ecs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2ecs/CamelAws2ecsSinkConnectorConfig.java b/connectors/camel-aws2-ecs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2ecs/CamelAws2ecsSinkConnectorConfig.java
index 074ebd6..94f278e 100644
--- a/connectors/camel-aws2-ecs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2ecs/CamelAws2ecsSinkConnectorConfig.java
+++ b/connectors/camel-aws2-ecs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2ecs/CamelAws2ecsSinkConnectorConfig.java
@@ -36,6 +36,9 @@ public class CamelAws2ecsSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2ECS_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
     public static final String CAMEL_SINK_AWS2ECS_ENDPOINT_OPERATION_DOC = "The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster]";
     public static final String CAMEL_SINK_AWS2ECS_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2ECS_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWS2ECS_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2ECS_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_HOST_CONF = "camel.sink.endpoint.proxyHost";
     public static final String CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the ECS client";
     public static final String CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_HOST_DEFAULT = null;
@@ -72,6 +75,9 @@ public class CamelAws2ecsSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2ECS_COMPONENT_OPERATION_CONF = "camel.component.aws2-ecs.operation";
     public static final String CAMEL_SINK_AWS2ECS_COMPONENT_OPERATION_DOC = "The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster]";
     public static final String CAMEL_SINK_AWS2ECS_COMPONENT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2ECS_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-ecs.pojoRequest";
+    public static final String CAMEL_SINK_AWS2ECS_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2ECS_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_HOST_CONF = "camel.component.aws2-ecs.proxyHost";
     public static final String CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the ECS client";
     public static final String CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_HOST_DEFAULT = null;
@@ -110,6 +116,7 @@ public class CamelAws2ecsSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2ECS_ENDPOINT_ECS_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2ECS_ENDPOINT_ECS_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_ENDPOINT_ECS_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2ECS_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2ECS_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2ECS_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2ECS_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2ECS_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2ECS_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2ECS_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_ENDPOINT_PROXY_PROTOCOL_DOC);
@@ -122,6 +129,7 @@ public class CamelAws2ecsSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2ECS_COMPONENT_ECS_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2ECS_COMPONENT_ECS_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_COMPONENT_ECS_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2ECS_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2ECS_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2ECS_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2ECS_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2ECS_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2ECS_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2ECS_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2ECS_COMPONENT_PROXY_PROTOCOL_DOC);
diff --git a/connectors/camel-aws2-eks-kafka-connector/src/main/docs/camel-aws2-eks-kafka-sink-connector.adoc b/connectors/camel-aws2-eks-kafka-connector/src/main/docs/camel-aws2-eks-kafka-sink-connector.adoc
index 8c4c59f..ca1cd64 100644
--- a/connectors/camel-aws2-eks-kafka-connector/src/main/docs/camel-aws2-eks-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-eks-kafka-connector/src/main/docs/camel-aws2-eks-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-eks-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-eks sink connector supports 23 options, which are listed below.
+The camel-aws2-eks sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-eks sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.eksClient* | To use a existing configured AWS EKS as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the EKS client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the EKS client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the EKS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-eks sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-eks.eksClient* | To use a existing configured AWS EKS as client | null | MEDIUM
 | *camel.component.aws2-eks.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-eks.operation* | The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster] | null | HIGH
+| *camel.component.aws2-eks.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-eks.proxyHost* | To define a proxy host when instantiating the EKS client | null | MEDIUM
 | *camel.component.aws2-eks.proxyPort* | To define a proxy port when instantiating the EKS client | null | MEDIUM
 | *camel.component.aws2-eks.proxyProtocol* | To define a proxy protocol when instantiating the EKS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/connectors/camel-aws2-eks-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2eks/CamelAws2eksSinkConnectorConfig.java b/connectors/camel-aws2-eks-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2eks/CamelAws2eksSinkConnectorConfig.java
index 32e8c12..bb9399d 100644
--- a/connectors/camel-aws2-eks-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2eks/CamelAws2eksSinkConnectorConfig.java
+++ b/connectors/camel-aws2-eks-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2eks/CamelAws2eksSinkConnectorConfig.java
@@ -36,6 +36,9 @@ public class CamelAws2eksSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2EKS_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
     public static final String CAMEL_SINK_AWS2EKS_ENDPOINT_OPERATION_DOC = "The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster]";
     public static final String CAMEL_SINK_AWS2EKS_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2EKS_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWS2EKS_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2EKS_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_HOST_CONF = "camel.sink.endpoint.proxyHost";
     public static final String CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the EKS client";
     public static final String CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_HOST_DEFAULT = null;
@@ -72,6 +75,9 @@ public class CamelAws2eksSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2EKS_COMPONENT_OPERATION_CONF = "camel.component.aws2-eks.operation";
     public static final String CAMEL_SINK_AWS2EKS_COMPONENT_OPERATION_DOC = "The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster]";
     public static final String CAMEL_SINK_AWS2EKS_COMPONENT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2EKS_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-eks.pojoRequest";
+    public static final String CAMEL_SINK_AWS2EKS_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2EKS_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_HOST_CONF = "camel.component.aws2-eks.proxyHost";
     public static final String CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the EKS client";
     public static final String CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_HOST_DEFAULT = null;
@@ -110,6 +116,7 @@ public class CamelAws2eksSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2EKS_ENDPOINT_EKS_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EKS_ENDPOINT_EKS_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_ENDPOINT_EKS_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2EKS_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2EKS_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2EKS_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EKS_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2EKS_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2EKS_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2EKS_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_ENDPOINT_PROXY_PROTOCOL_DOC);
@@ -122,6 +129,7 @@ public class CamelAws2eksSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2EKS_COMPONENT_EKS_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EKS_COMPONENT_EKS_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_COMPONENT_EKS_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2EKS_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2EKS_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2EKS_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EKS_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2EKS_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2EKS_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2EKS_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2EKS_COMPONENT_PROXY_PROTOCOL_DOC);
diff --git a/connectors/camel-aws2-iam-kafka-connector/src/main/docs/camel-aws2-iam-kafka-sink-connector.adoc b/connectors/camel-aws2-iam-kafka-connector/src/main/docs/camel-aws2-iam-kafka-sink-connector.adoc
index 0146931..61eb679 100644
--- a/connectors/camel-aws2-iam-kafka-connector/src/main/docs/camel-aws2-iam-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-iam-kafka-connector/src/main/docs/camel-aws2-iam-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-iam-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-iam sink connector supports 23 options, which are listed below.
+The camel-aws2-iam sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-iam sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.iamClient* | To use a existing configured AWS IAM as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform One of: [listAccessKeys] [createUser] [deleteUser] [getUser] [listUsers] [createAccessKey] [deleteAccessKey] [updateAccessKey] [createGroup] [deleteGroup] [listGroups] [addUserToGroup] [removeUserFromGroup] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the IAM client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the IAM client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the IAM client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-iam sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-iam.iamClient* | To use a existing configured AWS IAM as client | null | MEDIUM
 | *camel.component.aws2-iam.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-iam.operation* | The operation to perform One of: [listAccessKeys] [createUser] [deleteUser] [getUser] [listUsers] [createAccessKey] [deleteAccessKey] [updateAccessKey] [createGroup] [deleteGroup] [listGroups] [addUserToGroup] [removeUserFromGroup] | null | HIGH
+| *camel.component.aws2-iam.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-iam.proxyHost* | To define a proxy host when instantiating the IAM client | null | MEDIUM
 | *camel.component.aws2-iam.proxyPort* | To define a proxy port when instantiating the IAM client | null | MEDIUM
 | *camel.component.aws2-iam.proxyProtocol* | To define a proxy protocol when instantiating the IAM client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnectorConfig.java b/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnectorConfig.java
index a0a1aff..7efb0a1 100644
--- a/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnectorConfig.java
+++ b/connectors/camel-aws2-iam-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2iam/CamelAws2iamSinkConnectorConfig.java
@@ -36,6 +36,9 @@ public class CamelAws2iamSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2IAM_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
     public static final String CAMEL_SINK_AWS2IAM_ENDPOINT_OPERATION_DOC = "The operation to perform One of: [listAccessKeys] [createUser] [deleteUser] [getUser] [listUsers] [createAccessKey] [deleteAccessKey] [updateAccessKey] [createGroup] [deleteGroup] [listGroups] [addUserToGroup] [removeUserFromGroup]";
     public static final String CAMEL_SINK_AWS2IAM_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2IAM_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWS2IAM_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2IAM_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_HOST_CONF = "camel.sink.endpoint.proxyHost";
     public static final String CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the IAM client";
     public static final String CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_HOST_DEFAULT = null;
@@ -72,6 +75,9 @@ public class CamelAws2iamSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2IAM_COMPONENT_OPERATION_CONF = "camel.component.aws2-iam.operation";
     public static final String CAMEL_SINK_AWS2IAM_COMPONENT_OPERATION_DOC = "The operation to perform One of: [listAccessKeys] [createUser] [deleteUser] [getUser] [listUsers] [createAccessKey] [deleteAccessKey] [updateAccessKey] [createGroup] [deleteGroup] [listGroups] [addUserToGroup] [removeUserFromGroup]";
     public static final String CAMEL_SINK_AWS2IAM_COMPONENT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2IAM_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-iam.pojoRequest";
+    public static final String CAMEL_SINK_AWS2IAM_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2IAM_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_HOST_CONF = "camel.component.aws2-iam.proxyHost";
     public static final String CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the IAM client";
     public static final String CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_HOST_DEFAULT = null;
@@ -110,6 +116,7 @@ public class CamelAws2iamSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2IAM_ENDPOINT_IAM_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2IAM_ENDPOINT_IAM_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_ENDPOINT_IAM_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2IAM_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2IAM_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2IAM_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2IAM_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2IAM_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2IAM_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2IAM_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_ENDPOINT_PROXY_PROTOCOL_DOC);
@@ -122,6 +129,7 @@ public class CamelAws2iamSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2IAM_COMPONENT_IAM_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2IAM_COMPONENT_IAM_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_COMPONENT_IAM_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2IAM_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2IAM_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2IAM_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2IAM_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2IAM_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2IAM_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2IAM_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2IAM_COMPONENT_PROXY_PROTOCOL_DOC);
diff --git a/connectors/camel-aws2-kms-kafka-connector/src/main/docs/camel-aws2-kms-kafka-sink-connector.adoc b/connectors/camel-aws2-kms-kafka-connector/src/main/docs/camel-aws2-kms-kafka-sink-connector.adoc
index 931fbf0..7fe15c9 100644
--- a/connectors/camel-aws2-kms-kafka-connector/src/main/docs/camel-aws2-kms-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-kms-kafka-connector/src/main/docs/camel-aws2-kms-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-kms-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-kms sink connector supports 23 options, which are listed below.
+The camel-aws2-kms sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-kms sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.kmsClient* | To use a existing configured AWS KMS as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform One of: [listKeys] [createKey] [disableKey] [scheduleKeyDeletion] [describeKey] [enableKey] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the KMS client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the KMS client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the KMS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-kms sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-kms.kmsClient* | To use a existing configured AWS KMS as client | null | MEDIUM
 | *camel.component.aws2-kms.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-kms.operation* | The operation to perform One of: [listKeys] [createKey] [disableKey] [scheduleKeyDeletion] [describeKey] [enableKey] | null | HIGH
+| *camel.component.aws2-kms.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-kms.proxyHost* | To define a proxy host when instantiating the KMS client | null | MEDIUM
 | *camel.component.aws2-kms.proxyPort* | To define a proxy port when instantiating the KMS client | null | MEDIUM
 | *camel.component.aws2-kms.proxyProtocol* | To define a proxy protocol when instantiating the KMS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnectorConfig.java b/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnectorConfig.java
index 65ae09d..873a30c 100644
--- a/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnectorConfig.java
+++ b/connectors/camel-aws2-kms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2kms/CamelAws2kmsSinkConnectorConfig.java
@@ -36,6 +36,9 @@ public class CamelAws2kmsSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2KMS_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
     public static final String CAMEL_SINK_AWS2KMS_ENDPOINT_OPERATION_DOC = "The operation to perform One of: [listKeys] [createKey] [disableKey] [scheduleKeyDeletion] [describeKey] [enableKey]";
     public static final String CAMEL_SINK_AWS2KMS_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2KMS_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWS2KMS_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2KMS_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_HOST_CONF = "camel.sink.endpoint.proxyHost";
     public static final String CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the KMS client";
     public static final String CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_HOST_DEFAULT = null;
@@ -72,6 +75,9 @@ public class CamelAws2kmsSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2KMS_COMPONENT_OPERATION_CONF = "camel.component.aws2-kms.operation";
     public static final String CAMEL_SINK_AWS2KMS_COMPONENT_OPERATION_DOC = "The operation to perform One of: [listKeys] [createKey] [disableKey] [scheduleKeyDeletion] [describeKey] [enableKey]";
     public static final String CAMEL_SINK_AWS2KMS_COMPONENT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2KMS_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-kms.pojoRequest";
+    public static final String CAMEL_SINK_AWS2KMS_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2KMS_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_HOST_CONF = "camel.component.aws2-kms.proxyHost";
     public static final String CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the KMS client";
     public static final String CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_HOST_DEFAULT = null;
@@ -110,6 +116,7 @@ public class CamelAws2kmsSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2KMS_ENDPOINT_KMS_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2KMS_ENDPOINT_KMS_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_ENDPOINT_KMS_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2KMS_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2KMS_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2KMS_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2KMS_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2KMS_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2KMS_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2KMS_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_ENDPOINT_PROXY_PROTOCOL_DOC);
@@ -122,6 +129,7 @@ public class CamelAws2kmsSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2KMS_COMPONENT_KMS_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2KMS_COMPONENT_KMS_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_COMPONENT_KMS_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2KMS_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2KMS_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2KMS_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2KMS_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2KMS_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2KMS_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2KMS_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2KMS_COMPONENT_PROXY_PROTOCOL_DOC);
diff --git a/connectors/camel-aws2-lambda-kafka-connector/src/main/docs/camel-aws2-lambda-kafka-sink-connector.adoc b/connectors/camel-aws2-lambda-kafka-connector/src/main/docs/camel-aws2-lambda-kafka-sink-connector.adoc
index ff2d992..f14b2c3 100644
--- a/connectors/camel-aws2-lambda-kafka-connector/src/main/docs/camel-aws2-lambda-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-lambda-kafka-connector/src/main/docs/camel-aws2-lambda-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-lambda-kafka-connector as sink make sure to use the follow
 ----
 
 
-The camel-aws2-lambda sink connector supports 23 options, which are listed below.
+The camel-aws2-lambda sink connector supports 25 options, which are listed below.
 
 
 
@@ -25,6 +25,7 @@ The camel-aws2-lambda sink connector supports 23 options, which are listed below
 | *camel.sink.path.function* | Name of the Lambda function. | null | HIGH
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction One of: [listFunctions] [getFunction] [createAlias] [deleteAlias] [getAlias] [listAliases] [createFunction] [deleteFunction] [invokeFunction] [updateFunction] [createEventSourceMapping] [deleteEventSourceMapping] [listEventSourceMapping] [listTags] [tagResource] [untagResource] [publishVersion] [listVersions] | "invokeFunction" | MEDIUM
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.sink.endpoint.awsLambdaClient* | To use a existing configured AwsLambdaClient as client | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
@@ -37,6 +38,7 @@ The camel-aws2-lambda sink connector supports 23 options, which are listed below
 | *camel.component.aws2-lambda.configuration* | Component configuration | null | MEDIUM
 | *camel.component.aws2-lambda.lazyStartProducer* | 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  [...]
 | *camel.component.aws2-lambda.operation* | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction One of: [listFunctions] [getFunction] [createAlias] [deleteAlias] [getAlias] [listAliases] [createFunction] [deleteFunction] [invokeFunction] [updateFunction] [createEventSourceMapping] [deleteEventSourceMapping] [listEventSourceMapping] [listTags] [tagResource] [untagResource] [publishVersion] [listVersions] | "invokeFunction" | MEDIUM
+| *camel.component.aws2-lambda.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-lambda.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.component.aws2-lambda.awsLambdaClient* | To use a existing configured AwsLambdaClient as client | null | MEDIUM
 | *camel.component.aws2-lambda.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
@@ -46,6 +48,4 @@ The camel-aws2-lambda sink connector supports 23 options, which are listed below
 | *camel.component.aws2-lambda.accessKey* | Amazon AWS Access Key | null | MEDIUM
 | *camel.component.aws2-lambda.secretKey* | Amazon AWS Secret Key | null | MEDIUM
 |===
-
-
 // kafka-connector options: END
diff --git a/connectors/camel-aws2-lambda-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2lambda/CamelAws2lambdaSinkConnectorConfig.java b/connectors/camel-aws2-lambda-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2lambda/CamelAws2lambdaSinkConnectorConfig.java
index 7fa8456..78687d6 100644
--- a/connectors/camel-aws2-lambda-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2lambda/CamelAws2lambdaSinkConnectorConfig.java
+++ b/connectors/camel-aws2-lambda-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2lambda/CamelAws2lambdaSinkConnectorConfig.java
@@ -35,6 +35,9 @@ public class CamelAws2lambdaSinkConnectorConfig
     public static final String CAMEL_SINK_AWS2LAMBDA_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
     public static final String CAMEL_SINK_AWS2LAMBDA_ENDPOINT_OPERATION_DOC = "The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction One of: [listFunctions] [getFunction] [createAlias] [deleteAlias] [getAlias] [listAliases] [createFunction] [deleteFunction] [invokeFunction] [updateFunction] [createEventSourceMapping] [deleteEventSourceMapping] [listEventSourceMapping] [listTags] [tagResource] [untagResource] [publishVersion] [lis [...]
     public static final String CAMEL_SINK_AWS2LAMBDA_ENDPOINT_OPERATION_DEFAULT = "invokeFunction";
+    public static final String CAMEL_SINK_AWS2LAMBDA_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWS2LAMBDA_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2LAMBDA_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2LAMBDA_ENDPOINT_REGION_CONF = "camel.sink.endpoint.region";
     public static final String CAMEL_SINK_AWS2LAMBDA_ENDPOINT_REGION_DOC = "The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
     public static final String CAMEL_SINK_AWS2LAMBDA_ENDPOINT_REGION_DEFAULT = null;
@@ -71,6 +74,9 @@ public class CamelAws2lambdaSinkConnectorConfig
     public static final String CAMEL_SINK_AWS2LAMBDA_COMPONENT_OPERATION_CONF = "camel.component.aws2-lambda.operation";
     public static final String CAMEL_SINK_AWS2LAMBDA_COMPONENT_OPERATION_DOC = "The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction One of: [listFunctions] [getFunction] [createAlias] [deleteAlias] [getAlias] [listAliases] [createFunction] [deleteFunction] [invokeFunction] [updateFunction] [createEventSourceMapping] [deleteEventSourceMapping] [listEventSourceMapping] [listTags] [tagResource] [untagResource] [publishVersion] [li [...]
     public static final String CAMEL_SINK_AWS2LAMBDA_COMPONENT_OPERATION_DEFAULT = "invokeFunction";
+    public static final String CAMEL_SINK_AWS2LAMBDA_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-lambda.pojoRequest";
+    public static final String CAMEL_SINK_AWS2LAMBDA_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2LAMBDA_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2LAMBDA_COMPONENT_REGION_CONF = "camel.component.aws2-lambda.region";
     public static final String CAMEL_SINK_AWS2LAMBDA_COMPONENT_REGION_DOC = "The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
     public static final String CAMEL_SINK_AWS2LAMBDA_COMPONENT_REGION_DEFAULT = null;
@@ -111,6 +117,7 @@ public class CamelAws2lambdaSinkConnectorConfig
         conf.define(CAMEL_SINK_AWS2LAMBDA_PATH_FUNCTION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2LAMBDA_PATH_FUNCTION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2LAMBDA_PATH_FUNCTION_DOC);
         conf.define(CAMEL_SINK_AWS2LAMBDA_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2LAMBDA_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2LAMBDA_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2LAMBDA_ENDPOINT_REGION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_REGION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_REGION_DOC);
         conf.define(CAMEL_SINK_AWS2LAMBDA_ENDPOINT_AWS_LAMBDA_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_AWS_LAMBDA_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_AWS_LAMBDA_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2LAMBDA_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
@@ -123,6 +130,7 @@ public class CamelAws2lambdaSinkConnectorConfig
         conf.define(CAMEL_SINK_AWS2LAMBDA_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2LAMBDA_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SINK_AWS2LAMBDA_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2LAMBDA_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2LAMBDA_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2LAMBDA_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2LAMBDA_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2LAMBDA_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2LAMBDA_COMPONENT_REGION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2LAMBDA_COMPONENT_REGION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_COMPONENT_REGION_DOC);
         conf.define(CAMEL_SINK_AWS2LAMBDA_COMPONENT_AWS_LAMBDA_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2LAMBDA_COMPONENT_AWS_LAMBDA_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_COMPONENT_AWS_LAMBDA_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2LAMBDA_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2LAMBDA_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2LAMBDA_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
diff --git a/connectors/camel-aws2-mq-kafka-connector/src/main/docs/camel-aws2-mq-kafka-sink-connector.adoc b/connectors/camel-aws2-mq-kafka-connector/src/main/docs/camel-aws2-mq-kafka-sink-connector.adoc
index 28b9aec..1f3a108 100644
--- a/connectors/camel-aws2-mq-kafka-connector/src/main/docs/camel-aws2-mq-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-mq-kafka-connector/src/main/docs/camel-aws2-mq-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-mq-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-mq sink connector supports 23 options, which are listed below.
+The camel-aws2-mq sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-mq sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.amazonMqClient* | To use a existing configured AmazonMQClient as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform. It can be listBrokers,createBroker,deleteBroker One of: [listBrokers] [createBroker] [deleteBroker] [rebootBroker] [updateBroker] [describeBroker] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the MQ client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the MQ client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the MQ client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-mq sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-mq.configuration* | Component configuration | null | MEDIUM
 | *camel.component.aws2-mq.lazyStartProducer* | 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 [...]
 | *camel.component.aws2-mq.operation* | The operation to perform. It can be listBrokers,createBroker,deleteBroker One of: [listBrokers] [createBroker] [deleteBroker] [rebootBroker] [updateBroker] [describeBroker] | null | HIGH
+| *camel.component.aws2-mq.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-mq.proxyHost* | To define a proxy host when instantiating the MQ client | null | MEDIUM
 | *camel.component.aws2-mq.proxyPort* | To define a proxy port when instantiating the MQ client | null | MEDIUM
 | *camel.component.aws2-mq.proxyProtocol* | To define a proxy protocol when instantiating the MQ client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/connectors/camel-aws2-mq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2mq/CamelAws2mqSinkConnectorConfig.java b/connectors/camel-aws2-mq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2mq/CamelAws2mqSinkConnectorConfig.java
index 856a9e8..8406581 100644
--- a/connectors/camel-aws2-mq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2mq/CamelAws2mqSinkConnectorConfig.java
+++ b/connectors/camel-aws2-mq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2mq/CamelAws2mqSinkConnectorConfig.java
@@ -36,6 +36,9 @@ public class CamelAws2mqSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2MQ_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
     public static final String CAMEL_SINK_AWS2MQ_ENDPOINT_OPERATION_DOC = "The operation to perform. It can be listBrokers,createBroker,deleteBroker One of: [listBrokers] [createBroker] [deleteBroker] [rebootBroker] [updateBroker] [describeBroker]";
     public static final String CAMEL_SINK_AWS2MQ_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2MQ_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWS2MQ_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2MQ_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_HOST_CONF = "camel.sink.endpoint.proxyHost";
     public static final String CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the MQ client";
     public static final String CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_HOST_DEFAULT = null;
@@ -72,6 +75,9 @@ public class CamelAws2mqSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2MQ_COMPONENT_OPERATION_CONF = "camel.component.aws2-mq.operation";
     public static final String CAMEL_SINK_AWS2MQ_COMPONENT_OPERATION_DOC = "The operation to perform. It can be listBrokers,createBroker,deleteBroker One of: [listBrokers] [createBroker] [deleteBroker] [rebootBroker] [updateBroker] [describeBroker]";
     public static final String CAMEL_SINK_AWS2MQ_COMPONENT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2MQ_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-mq.pojoRequest";
+    public static final String CAMEL_SINK_AWS2MQ_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2MQ_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_HOST_CONF = "camel.component.aws2-mq.proxyHost";
     public static final String CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the MQ client";
     public static final String CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_HOST_DEFAULT = null;
@@ -110,6 +116,7 @@ public class CamelAws2mqSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2MQ_ENDPOINT_AMAZON_MQ_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MQ_ENDPOINT_AMAZON_MQ_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_ENDPOINT_AMAZON_MQ_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2MQ_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2MQ_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2MQ_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MQ_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2MQ_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2MQ_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2MQ_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_ENDPOINT_PROXY_PROTOCOL_DOC);
@@ -122,6 +129,7 @@ public class CamelAws2mqSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2MQ_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MQ_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SINK_AWS2MQ_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2MQ_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2MQ_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MQ_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2MQ_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2MQ_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2MQ_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MQ_COMPONENT_PROXY_PROTOCOL_DOC);
diff --git a/connectors/camel-aws2-msk-kafka-connector/src/main/docs/camel-aws2-msk-kafka-sink-connector.adoc b/connectors/camel-aws2-msk-kafka-connector/src/main/docs/camel-aws2-msk-kafka-sink-connector.adoc
index 41f2acc..c73f440 100644
--- a/connectors/camel-aws2-msk-kafka-connector/src/main/docs/camel-aws2-msk-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-msk-kafka-connector/src/main/docs/camel-aws2-msk-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-msk-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-msk sink connector supports 23 options, which are listed below.
+The camel-aws2-msk sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-msk sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.mskClient* | To use a existing configured AWS MSK as client | null | MEDIUM
 | *camel.sink.endpoint.operation* | The operation to perform One of: [listClusters] [createCluster] [deleteCluster] [describeCluster] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the MSK client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the MSK client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the MSK client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-msk sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-msk.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-msk.mskClient* | To use a existing configured AWS MSK as client | null | MEDIUM
 | *camel.component.aws2-msk.operation* | The operation to perform One of: [listClusters] [createCluster] [deleteCluster] [describeCluster] | null | HIGH
+| *camel.component.aws2-msk.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-msk.proxyHost* | To define a proxy host when instantiating the MSK client | null | MEDIUM
 | *camel.component.aws2-msk.proxyPort* | To define a proxy port when instantiating the MSK client | null | MEDIUM
 | *camel.component.aws2-msk.proxyProtocol* | To define a proxy protocol when instantiating the MSK client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/connectors/camel-aws2-msk-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2msk/CamelAws2mskSinkConnectorConfig.java b/connectors/camel-aws2-msk-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2msk/CamelAws2mskSinkConnectorConfig.java
index 2703c4b..b65cd65 100644
--- a/connectors/camel-aws2-msk-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2msk/CamelAws2mskSinkConnectorConfig.java
+++ b/connectors/camel-aws2-msk-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2msk/CamelAws2mskSinkConnectorConfig.java
@@ -36,6 +36,9 @@ public class CamelAws2mskSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2MSK_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
     public static final String CAMEL_SINK_AWS2MSK_ENDPOINT_OPERATION_DOC = "The operation to perform One of: [listClusters] [createCluster] [deleteCluster] [describeCluster]";
     public static final String CAMEL_SINK_AWS2MSK_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2MSK_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWS2MSK_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2MSK_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_HOST_CONF = "camel.sink.endpoint.proxyHost";
     public static final String CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the MSK client";
     public static final String CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_HOST_DEFAULT = null;
@@ -72,6 +75,9 @@ public class CamelAws2mskSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2MSK_COMPONENT_OPERATION_CONF = "camel.component.aws2-msk.operation";
     public static final String CAMEL_SINK_AWS2MSK_COMPONENT_OPERATION_DOC = "The operation to perform One of: [listClusters] [createCluster] [deleteCluster] [describeCluster]";
     public static final String CAMEL_SINK_AWS2MSK_COMPONENT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2MSK_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-msk.pojoRequest";
+    public static final String CAMEL_SINK_AWS2MSK_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2MSK_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_HOST_CONF = "camel.component.aws2-msk.proxyHost";
     public static final String CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the MSK client";
     public static final String CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_HOST_DEFAULT = null;
@@ -110,6 +116,7 @@ public class CamelAws2mskSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2MSK_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2MSK_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2MSK_ENDPOINT_MSK_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MSK_ENDPOINT_MSK_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_ENDPOINT_MSK_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2MSK_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MSK_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2MSK_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2MSK_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2MSK_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_ENDPOINT_PROXY_PROTOCOL_DOC);
@@ -122,6 +129,7 @@ public class CamelAws2mskSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2MSK_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2MSK_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2MSK_COMPONENT_MSK_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MSK_COMPONENT_MSK_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_COMPONENT_MSK_CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2MSK_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MSK_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2MSK_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2MSK_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2MSK_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2MSK_COMPONENT_PROXY_PROTOCOL_DOC);
diff --git a/connectors/camel-aws2-s3-kafka-connector/src/main/docs/camel-aws2-s3-kafka-sink-connector.adoc b/connectors/camel-aws2-s3-kafka-connector/src/main/docs/camel-aws2-s3-kafka-sink-connector.adoc
index a30eaa7..f718fe4 100644
--- a/connectors/camel-aws2-s3-kafka-connector/src/main/docs/camel-aws2-s3-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-s3-kafka-connector/src/main/docs/camel-aws2-s3-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-s3-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-s3 sink connector supports 47 options, which are listed below.
+The camel-aws2-s3 sink connector supports 57 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-s3 sink connector supports 47 options, which are listed below.
 | *camel.sink.endpoint.amazonS3Client* | Reference to a com.amazonaws.services.s3.AmazonS3 in the registry. | null | MEDIUM
 | *camel.sink.endpoint.autoCreateBucket* | Setting the autocreation of the bucket | true | MEDIUM
 | *camel.sink.endpoint.overrideEndpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | MEDIUM
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
@@ -41,7 +42,11 @@ The camel-aws2-s3 sink connector supports 47 options, which are listed below.
 | *camel.sink.endpoint.partSize* | Setup the partSize which is used in multi part upload, the default size is 25M. | 26214400L | MEDIUM
 | *camel.sink.endpoint.storageClass* | The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request. | null | MEDIUM
 | *camel.sink.endpoint.awsKMSKeyId* | Define the id of KMS key to use in case KMS is enabled | null | MEDIUM
+| *camel.sink.endpoint.customerAlgorithm* | Define the customer algorithm to use in case CustomerKey is enabled | null | MEDIUM
+| *camel.sink.endpoint.customerKeyId* | Define the id of Customer key to use in case CustomerKey is enabled | null | MEDIUM
+| *camel.sink.endpoint.customerKeyMD5* | Define the MD5 of Customer key to use in case CustomerKey is enabled | null | MEDIUM
 | *camel.sink.endpoint.useAwsKMS* | Define if KMS must be used or not | false | MEDIUM
+| *camel.sink.endpoint.useCustomerKey* | Define if Customer Key must be used or not | false | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
 | *camel.sink.endpoint.accessKey* | Amazon AWS Access Key | null | MEDIUM
@@ -50,6 +55,7 @@ The camel-aws2-s3 sink connector supports 47 options, which are listed below.
 | *camel.component.aws2-s3.autoCreateBucket* | Setting the autocreation of the bucket | true | MEDIUM
 | *camel.component.aws2-s3.configuration* | The component configuration | null | MEDIUM
 | *camel.component.aws2-s3.overrideEndpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | MEDIUM
+| *camel.component.aws2-s3.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-s3.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
 | *camel.component.aws2-s3.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
 | *camel.component.aws2-s3.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
@@ -65,11 +71,13 @@ The camel-aws2-s3 sink connector supports 47 options, which are listed below.
 | *camel.component.aws2-s3.partSize* | Setup the partSize which is used in multi part upload, the default size is 25M. | 26214400L | MEDIUM
 | *camel.component.aws2-s3.storageClass* | The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request. | null | MEDIUM
 | *camel.component.aws2-s3.awsKMSKeyId* | Define the id of KMS key to use in case KMS is enabled | null | MEDIUM
+| *camel.component.aws2-s3.customerAlgorithm* | Define the customer algorithm to use in case CustomerKey is enabled | null | MEDIUM
+| *camel.component.aws2-s3.customerKeyId* | Define the id of Customer key to use in case CustomerKey is enabled | null | MEDIUM
+| *camel.component.aws2-s3.customerKeyMD5* | Define the MD5 of Customer key to use in case CustomerKey is enabled | null | MEDIUM
 | *camel.component.aws2-s3.useAwsKMS* | Define if KMS must be used or not | false | MEDIUM
+| *camel.component.aws2-s3.useCustomerKey* | Define if Customer Key must be used or not | false | MEDIUM
 | *camel.component.aws2-s3.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.aws2-s3.accessKey* | Amazon AWS Access Key | null | MEDIUM
 | *camel.component.aws2-s3.secretKey* | Amazon AWS Secret Key | null | MEDIUM
 |===
-
-
 // kafka-connector options: END
diff --git a/connectors/camel-aws2-s3-kafka-connector/src/main/docs/camel-aws2-s3-kafka-source-connector.adoc b/connectors/camel-aws2-s3-kafka-connector/src/main/docs/camel-aws2-s3-kafka-source-connector.adoc
index 05524be..94665dc 100644
--- a/connectors/camel-aws2-s3-kafka-connector/src/main/docs/camel-aws2-s3-kafka-source-connector.adoc
+++ b/connectors/camel-aws2-s3-kafka-connector/src/main/docs/camel-aws2-s3-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-s3-kafka-connector as source make sure to use the followin
 ----
 
 
-The camel-aws2-s3 source connector supports 63 options, which are listed below.
+The camel-aws2-s3 source connector supports 71 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-s3 source connector supports 63 options, which are listed below.
 | *camel.source.endpoint.amazonS3Client* | Reference to a com.amazonaws.services.s3.AmazonS3 in the registry. | null | MEDIUM
 | *camel.source.endpoint.autoCreateBucket* | Setting the autocreation of the bucket | true | MEDIUM
 | *camel.source.endpoint.overrideEndpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | MEDIUM
+| *camel.source.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.source.endpoint.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
 | *camel.source.endpoint.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
 | *camel.source.endpoint.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
@@ -36,10 +37,13 @@ The camel-aws2-s3 source connector supports 63 options, which are listed below.
 | *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.source.endpoint.deleteAfterRead* | Delete objects from S3 after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. Therefore you need to use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY headers, or only  [...]
 | *camel.source.endpoint.delimiter* | The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. | null | MEDIUM
+| *camel.source.endpoint.destinationBucket* | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | null | MEDIUM
 | *camel.source.endpoint.fileName* | To get the object from the bucket with the given file name | null | MEDIUM
 | *camel.source.endpoint.includeBody* | If it is true, the exchange body will be set to a stream to the contents of the file. If false, the headers will be set with the S3 object metadata, but the body will be null. This option is strongly related to autocloseBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | MEDIUM
+| *camel.source.endpoint.includeFolders* | If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those | true | MEDIUM
 | *camel.source.endpoint.maxConnections* | Set the maxConnections parameter in the S3 client configuration | 60 | MEDIUM
 | *camel.source.endpoint.maxMessagesPerPoll* | Gets the maximum number of messages as a limit to poll at each polling. Gets the maximum number of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative number to set it as unlimited. | 10 | MEDIUM
+| *camel.source.endpoint.moveAfterRead* | Move objects from S3 bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved. | false | MEDIUM
 | *camel.source.endpoint.prefix* | The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. | null | MEDIUM
 | *camel.source.endpoint.sendEmptyMessageWhenIdle* | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | MEDIUM
 | *camel.source.endpoint.autocloseBody* | If this option is true and includeBody is true, then the S3Object.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | MEDIUM
@@ -68,6 +72,7 @@ The camel-aws2-s3 source connector supports 63 options, which are listed below.
 | *camel.component.aws2-s3.autoCreateBucket* | Setting the autocreation of the bucket | true | MEDIUM
 | *camel.component.aws2-s3.configuration* | The component configuration | null | MEDIUM
 | *camel.component.aws2-s3.overrideEndpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | MEDIUM
+| *camel.component.aws2-s3.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-s3.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
 | *camel.component.aws2-s3.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
 | *camel.component.aws2-s3.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
@@ -78,14 +83,15 @@ The camel-aws2-s3 source connector supports 63 options, which are listed below.
 | *camel.component.aws2-s3.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.aws2-s3.deleteAfterRead* | Delete objects from S3 after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. Therefore you need to use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY headers, or onl [...]
 | *camel.component.aws2-s3.delimiter* | The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. | null | MEDIUM
+| *camel.component.aws2-s3.destinationBucket* | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | null | MEDIUM
 | *camel.component.aws2-s3.fileName* | To get the object from the bucket with the given file name | null | MEDIUM
 | *camel.component.aws2-s3.includeBody* | If it is true, the exchange body will be set to a stream to the contents of the file. If false, the headers will be set with the S3 object metadata, but the body will be null. This option is strongly related to autocloseBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | MEDIUM
+| *camel.component.aws2-s3.includeFolders* | If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those | true | MEDIUM
+| *camel.component.aws2-s3.moveAfterRead* | Move objects from S3 bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved. | false | MEDIUM
 | *camel.component.aws2-s3.prefix* | The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. | null | MEDIUM
 | *camel.component.aws2-s3.autocloseBody* | If this option is true and includeBody is true, then the S3Object.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | MEDIUM
 | *camel.component.aws2-s3.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.aws2-s3.accessKey* | Amazon AWS Access Key | null | MEDIUM
 | *camel.component.aws2-s3.secretKey* | Amazon AWS Secret Key | null | MEDIUM
 |===
-
-
 // kafka-connector options: END
diff --git a/connectors/camel-aws2-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2s3/CamelAws2s3SinkConnectorConfig.java b/connectors/camel-aws2-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2s3/CamelAws2s3SinkConnectorConfig.java
index d7d9d7a..a6265cc 100644
--- a/connectors/camel-aws2-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2s3/CamelAws2s3SinkConnectorConfig.java
+++ b/connectors/camel-aws2-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2s3/CamelAws2s3SinkConnectorConfig.java
@@ -36,6 +36,9 @@ public class CamelAws2s3SinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_CONF = "camel.sink.endpoint.overrideEndpoint";
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_DOC = "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option";
     public static final Boolean CAMEL_SINK_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_DEFAULT = false;
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2S3_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_POLICY_CONF = "camel.sink.endpoint.policy";
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_POLICY_DOC = "The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method.";
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_POLICY_DEFAULT = null;
@@ -81,9 +84,21 @@ public class CamelAws2s3SinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_AWS_KMSKEY_ID_CONF = "camel.sink.endpoint.awsKMSKeyId";
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_AWS_KMSKEY_ID_DOC = "Define the id of KMS key to use in case KMS is enabled";
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_AWS_KMSKEY_ID_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_ALGORITHM_CONF = "camel.sink.endpoint.customerAlgorithm";
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_ALGORITHM_DOC = "Define the customer algorithm to use in case CustomerKey is enabled";
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_ALGORITHM_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_ID_CONF = "camel.sink.endpoint.customerKeyId";
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_ID_DOC = "Define the id of Customer key to use in case CustomerKey is enabled";
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_ID_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_MD5CONF = "camel.sink.endpoint.customerKeyMD5";
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_MD5DOC = "Define the MD5 of Customer key to use in case CustomerKey is enabled";
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_MD5DEFAULT = null;
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_USE_AWS_KMSCONF = "camel.sink.endpoint.useAwsKMS";
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_USE_AWS_KMSDOC = "Define if KMS must be used or not";
     public static final Boolean CAMEL_SINK_AWS2S3_ENDPOINT_USE_AWS_KMSDEFAULT = false;
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_USE_CUSTOMER_KEY_CONF = "camel.sink.endpoint.useCustomerKey";
+    public static final String CAMEL_SINK_AWS2S3_ENDPOINT_USE_CUSTOMER_KEY_DOC = "Define if Customer Key must be used or not";
+    public static final Boolean CAMEL_SINK_AWS2S3_ENDPOINT_USE_CUSTOMER_KEY_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_BASIC_PROPERTY_BINDING_CONF = "camel.sink.endpoint.basicPropertyBinding";
     public static final String CAMEL_SINK_AWS2S3_ENDPOINT_BASIC_PROPERTY_BINDING_DOC = "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
     public static final Boolean CAMEL_SINK_AWS2S3_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT = false;
@@ -108,6 +123,9 @@ public class CamelAws2s3SinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_CONF = "camel.component.aws2-s3.overrideEndpoint";
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_DOC = "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option";
     public static final Boolean CAMEL_SINK_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_DEFAULT = false;
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-s3.pojoRequest";
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2S3_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_POLICY_CONF = "camel.component.aws2-s3.policy";
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_POLICY_DOC = "The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method.";
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_POLICY_DEFAULT = null;
@@ -153,9 +171,21 @@ public class CamelAws2s3SinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_AWS_KMSKEY_ID_CONF = "camel.component.aws2-s3.awsKMSKeyId";
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_AWS_KMSKEY_ID_DOC = "Define the id of KMS key to use in case KMS is enabled";
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_AWS_KMSKEY_ID_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_ALGORITHM_CONF = "camel.component.aws2-s3.customerAlgorithm";
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_ALGORITHM_DOC = "Define the customer algorithm to use in case CustomerKey is enabled";
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_ALGORITHM_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_ID_CONF = "camel.component.aws2-s3.customerKeyId";
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_ID_DOC = "Define the id of Customer key to use in case CustomerKey is enabled";
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_ID_DEFAULT = null;
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_MD5CONF = "camel.component.aws2-s3.customerKeyMD5";
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_MD5DOC = "Define the MD5 of Customer key to use in case CustomerKey is enabled";
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_MD5DEFAULT = null;
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_USE_AWS_KMSCONF = "camel.component.aws2-s3.useAwsKMS";
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_USE_AWS_KMSDOC = "Define if KMS must be used or not";
     public static final Boolean CAMEL_SINK_AWS2S3_COMPONENT_USE_AWS_KMSDEFAULT = false;
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_USE_CUSTOMER_KEY_CONF = "camel.component.aws2-s3.useCustomerKey";
+    public static final String CAMEL_SINK_AWS2S3_COMPONENT_USE_CUSTOMER_KEY_DOC = "Define if Customer Key must be used or not";
+    public static final Boolean CAMEL_SINK_AWS2S3_COMPONENT_USE_CUSTOMER_KEY_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.aws2-s3.basicPropertyBinding";
     public static final String CAMEL_SINK_AWS2S3_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
     public static final Boolean CAMEL_SINK_AWS2S3_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
@@ -182,6 +212,7 @@ public class CamelAws2s3SinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_AMAZON_S3CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_ENDPOINT_AMAZON_S3CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_AMAZON_S3CLIENT_DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_AUTO_CREATE_BUCKET_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_ENDPOINT_AUTO_CREATE_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_AUTO_CREATE_BUCKET_DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_DOC);
+        conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_POLICY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_ENDPOINT_POLICY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_POLICY_DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_PROXY_PORT_DOC);
@@ -197,7 +228,11 @@ public class CamelAws2s3SinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_PART_SIZE_CONF, ConfigDef.Type.LONG, CAMEL_SINK_AWS2S3_ENDPOINT_PART_SIZE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_PART_SIZE_DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_STORAGE_CLASS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_ENDPOINT_STORAGE_CLASS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_STORAGE_CLASS_DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_AWS_KMSKEY_ID_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_ENDPOINT_AWS_KMSKEY_ID_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_AWS_KMSKEY_ID_DOC);
+        conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_ALGORITHM_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_ALGORITHM_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_ALGORITHM_DOC);
+        conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_ID_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_ID_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_ID_DOC);
+        conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_MD5CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_MD5DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_CUSTOMER_KEY_MD5DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_USE_AWS_KMSCONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_ENDPOINT_USE_AWS_KMSDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_USE_AWS_KMSDOC);
+        conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_USE_CUSTOMER_KEY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_ENDPOINT_USE_CUSTOMER_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_USE_CUSTOMER_KEY_DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_SYNCHRONOUS_DOC);
         conf.define(CAMEL_SINK_AWS2S3_ENDPOINT_ACCESS_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_ENDPOINT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_ENDPOINT_ACCESS_KEY_DOC);
@@ -206,6 +241,7 @@ public class CamelAws2s3SinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_AUTO_CREATE_BUCKET_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_COMPONENT_AUTO_CREATE_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_AUTO_CREATE_BUCKET_DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_DOC);
+        conf.define(CAMEL_SINK_AWS2S3_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_POLICY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_POLICY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_POLICY_DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_PROXY_PORT_DOC);
@@ -221,7 +257,11 @@ public class CamelAws2s3SinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_PART_SIZE_CONF, ConfigDef.Type.LONG, CAMEL_SINK_AWS2S3_COMPONENT_PART_SIZE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_PART_SIZE_DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_STORAGE_CLASS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_STORAGE_CLASS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_STORAGE_CLASS_DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_AWS_KMSKEY_ID_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_AWS_KMSKEY_ID_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_AWS_KMSKEY_ID_DOC);
+        conf.define(CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_ALGORITHM_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_ALGORITHM_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_ALGORITHM_DOC);
+        conf.define(CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_ID_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_ID_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_ID_DOC);
+        conf.define(CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_MD5CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_MD5DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_CUSTOMER_KEY_MD5DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_USE_AWS_KMSCONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_COMPONENT_USE_AWS_KMSDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_USE_AWS_KMSDOC);
+        conf.define(CAMEL_SINK_AWS2S3_COMPONENT_USE_CUSTOMER_KEY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_COMPONENT_USE_CUSTOMER_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_USE_CUSTOMER_KEY_DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2S3_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_ACCESS_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_ACCESS_KEY_DOC);
         conf.define(CAMEL_SINK_AWS2S3_COMPONENT_SECRET_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2S3_COMPONENT_SECRET_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2S3_COMPONENT_SECRET_KEY_DOC);
diff --git a/connectors/camel-aws2-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2s3/CamelAws2s3SourceConnectorConfig.java b/connectors/camel-aws2-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2s3/CamelAws2s3SourceConnectorConfig.java
index b5559e2..469ee1b 100644
--- a/connectors/camel-aws2-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2s3/CamelAws2s3SourceConnectorConfig.java
+++ b/connectors/camel-aws2-s3-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2s3/CamelAws2s3SourceConnectorConfig.java
@@ -38,6 +38,9 @@ public class CamelAws2s3SourceConnectorConfig
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_CONF = "camel.source.endpoint.overrideEndpoint";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_DOC = "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option";
     public static final Boolean CAMEL_SOURCE_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_POJO_REQUEST_CONF = "camel.source.endpoint.pojoRequest";
+    public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SOURCE_AWS2S3_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_POLICY_CONF = "camel.source.endpoint.policy";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_POLICY_DOC = "The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method.";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_POLICY_DEFAULT = null;
@@ -68,18 +71,27 @@ public class CamelAws2s3SourceConnectorConfig
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_DELIMITER_CONF = "camel.source.endpoint.delimiter";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_DELIMITER_DOC = "The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in.";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_DELIMITER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_DESTINATION_BUCKET_CONF = "camel.source.endpoint.destinationBucket";
+    public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_DESTINATION_BUCKET_DOC = "Define the destination bucket where an object must be moved when moveAfterRead is set to true.";
+    public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_DESTINATION_BUCKET_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_FILE_NAME_CONF = "camel.source.endpoint.fileName";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_FILE_NAME_DOC = "To get the object from the bucket with the given file name";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_FILE_NAME_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_BODY_CONF = "camel.source.endpoint.includeBody";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_BODY_DOC = "If it is true, the exchange body will be set to a stream to the contents of the file. If false, the headers will be set with the S3 object metadata, but the body will be null. This option is strongly related to autocloseBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object [...]
     public static final Boolean CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_BODY_DEFAULT = true;
+    public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_FOLDERS_CONF = "camel.source.endpoint.includeFolders";
+    public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_FOLDERS_DOC = "If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those";
+    public static final Boolean CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_FOLDERS_DEFAULT = true;
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_CONNECTIONS_CONF = "camel.source.endpoint.maxConnections";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_CONNECTIONS_DOC = "Set the maxConnections parameter in the S3 client configuration";
     public static final Integer CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_CONNECTIONS_DEFAULT = 60;
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_MESSAGES_PER_POLL_CONF = "camel.source.endpoint.maxMessagesPerPoll";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_MESSAGES_PER_POLL_DOC = "Gets the maximum number of messages as a limit to poll at each polling. Gets the maximum number of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative number to set it as unlimited.";
     public static final Integer CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_MESSAGES_PER_POLL_DEFAULT = 10;
+    public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_MOVE_AFTER_READ_CONF = "camel.source.endpoint.moveAfterRead";
+    public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_MOVE_AFTER_READ_DOC = "Move objects from S3 bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved.";
+    public static final Boolean CAMEL_SOURCE_AWS2S3_ENDPOINT_MOVE_AFTER_READ_DEFAULT = false;
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_PREFIX_CONF = "camel.source.endpoint.prefix";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_PREFIX_DOC = "The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in.";
     public static final String CAMEL_SOURCE_AWS2S3_ENDPOINT_PREFIX_DEFAULT = null;
@@ -164,6 +176,9 @@ public class CamelAws2s3SourceConnectorConfig
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_CONF = "camel.component.aws2-s3.overrideEndpoint";
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_DOC = "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option";
     public static final Boolean CAMEL_SOURCE_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-s3.pojoRequest";
+    public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SOURCE_AWS2S3_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_POLICY_CONF = "camel.component.aws2-s3.policy";
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_POLICY_DOC = "The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method.";
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_POLICY_DEFAULT = null;
@@ -194,12 +209,21 @@ public class CamelAws2s3SourceConnectorConfig
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_DELIMITER_CONF = "camel.component.aws2-s3.delimiter";
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_DELIMITER_DOC = "The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in.";
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_DELIMITER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_DESTINATION_BUCKET_CONF = "camel.component.aws2-s3.destinationBucket";
+    public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_DESTINATION_BUCKET_DOC = "Define the destination bucket where an object must be moved when moveAfterRead is set to true.";
+    public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_DESTINATION_BUCKET_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_FILE_NAME_CONF = "camel.component.aws2-s3.fileName";
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_FILE_NAME_DOC = "To get the object from the bucket with the given file name";
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_FILE_NAME_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_BODY_CONF = "camel.component.aws2-s3.includeBody";
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_BODY_DOC = "If it is true, the exchange body will be set to a stream to the contents of the file. If false, the headers will be set with the S3 object metadata, but the body will be null. This option is strongly related to autocloseBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Objec [...]
     public static final Boolean CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_BODY_DEFAULT = true;
+    public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_FOLDERS_CONF = "camel.component.aws2-s3.includeFolders";
+    public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_FOLDERS_DOC = "If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those";
+    public static final Boolean CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_FOLDERS_DEFAULT = true;
+    public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_MOVE_AFTER_READ_CONF = "camel.component.aws2-s3.moveAfterRead";
+    public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_MOVE_AFTER_READ_DOC = "Move objects from S3 bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved.";
+    public static final Boolean CAMEL_SOURCE_AWS2S3_COMPONENT_MOVE_AFTER_READ_DEFAULT = false;
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_PREFIX_CONF = "camel.component.aws2-s3.prefix";
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_PREFIX_DOC = "The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in.";
     public static final String CAMEL_SOURCE_AWS2S3_COMPONENT_PREFIX_DEFAULT = null;
@@ -232,6 +256,7 @@ public class CamelAws2s3SourceConnectorConfig
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_AMAZON_S3CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_ENDPOINT_AMAZON_S3CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_AMAZON_S3CLIENT_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_AUTO_CREATE_BUCKET_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_ENDPOINT_AUTO_CREATE_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_AUTO_CREATE_BUCKET_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_OVERRIDE_ENDPOINT_DOC);
+        conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_POLICY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_ENDPOINT_POLICY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_POLICY_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_PROXY_HOST_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_PROXY_PORT_DOC);
@@ -242,10 +267,13 @@ public class CamelAws2s3SourceConnectorConfig
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_DELETE_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_ENDPOINT_DELETE_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_DELETE_AFTER_READ_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_DELIMITER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_ENDPOINT_DELIMITER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_DELIMITER_DOC);
+        conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_DESTINATION_BUCKET_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_ENDPOINT_DESTINATION_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_DESTINATION_BUCKET_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_FILE_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_ENDPOINT_FILE_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_FILE_NAME_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_BODY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_BODY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_BODY_DOC);
+        conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_FOLDERS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_FOLDERS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_INCLUDE_FOLDERS_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_CONNECTIONS_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_CONNECTIONS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_CONNECTIONS_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_MESSAGES_PER_POLL_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_MESSAGES_PER_POLL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_MAX_MESSAGES_PER_POLL_DOC);
+        conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_MOVE_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_ENDPOINT_MOVE_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_MOVE_AFTER_READ_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_PREFIX_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_ENDPOINT_PREFIX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_PREFIX_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_SEND_EMPTY_MESSAGE_WHEN_IDLE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_ENDPOINT_SEND_EMPTY_MESSAGE_WHEN_IDLE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_SEND_EMPTY_MESSAGE_WHEN_IDLE_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_ENDPOINT_AUTOCLOSE_BODY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_ENDPOINT_AUTOCLOSE_BODY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_ENDPOINT_AUTOCLOSE_BODY_DOC);
@@ -274,6 +302,7 @@ public class CamelAws2s3SourceConnectorConfig
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_AUTO_CREATE_BUCKET_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_COMPONENT_AUTO_CREATE_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_AUTO_CREATE_BUCKET_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_OVERRIDE_ENDPOINT_DOC);
+        conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_POLICY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_COMPONENT_POLICY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_POLICY_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_PROXY_HOST_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_PROXY_PORT_DOC);
@@ -284,8 +313,11 @@ public class CamelAws2s3SourceConnectorConfig
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_BRIDGE_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_DELETE_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_COMPONENT_DELETE_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_DELETE_AFTER_READ_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_DELIMITER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_COMPONENT_DELIMITER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_DELIMITER_DOC);
+        conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_DESTINATION_BUCKET_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_COMPONENT_DESTINATION_BUCKET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_DESTINATION_BUCKET_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_FILE_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_COMPONENT_FILE_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_FILE_NAME_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_BODY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_BODY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_BODY_DOC);
+        conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_FOLDERS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_FOLDERS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_INCLUDE_FOLDERS_DOC);
+        conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_MOVE_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_COMPONENT_MOVE_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_MOVE_AFTER_READ_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_PREFIX_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AWS2S3_COMPONENT_PREFIX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_PREFIX_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_AUTOCLOSE_BODY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_COMPONENT_AUTOCLOSE_BODY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_AUTOCLOSE_BODY_DOC);
         conf.define(CAMEL_SOURCE_AWS2S3_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AWS2S3_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AWS2S3_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
diff --git a/connectors/camel-aws2-sqs-kafka-connector/src/main/docs/camel-aws2-sqs-kafka-sink-connector.adoc b/connectors/camel-aws2-sqs-kafka-connector/src/main/docs/camel-aws2-sqs-kafka-sink-connector.adoc
index b33d5f2..d75a469 100644
--- a/connectors/camel-aws2-sqs-kafka-connector/src/main/docs/camel-aws2-sqs-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-sqs-kafka-connector/src/main/docs/camel-aws2-sqs-kafka-sink-connector.adoc
@@ -30,7 +30,7 @@ The camel-aws2-sqs sink connector supports 52 options, which are listed below.
 | *camel.sink.endpoint.protocol* | The underlying protocol used to communicate with SQS | "https" | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the SQS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.sink.endpoint.queueOwnerAWSAccountId* | Specify the queue owner aws account id when you need to connect the queue with different account owner. | null | MEDIUM
-| *camel.sink.endpoint.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
+| *camel.sink.endpoint.region* | The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.sink.endpoint.delaySeconds* | Delay sending messages for a number of seconds. | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.messageDeduplicationIdStrategy* | 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. One of: [useExchangeId] [useContentBasedDeduplication] | "useExchangeId" | MEDIUM
@@ -56,7 +56,7 @@ The camel-aws2-sqs sink connector supports 52 options, which are listed below.
 | *camel.component.aws2-sqs.protocol* | The underlying protocol used to communicate with SQS | "https" | MEDIUM
 | *camel.component.aws2-sqs.proxyProtocol* | To define a proxy protocol when instantiating the SQS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.component.aws2-sqs.queueOwnerAWSAccountId* | Specify the queue owner aws account id when you need to connect the queue with different account owner. | null | MEDIUM
-| *camel.component.aws2-sqs.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
+| *camel.component.aws2-sqs.region* | The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.component.aws2-sqs.delaySeconds* | Delay sending messages for a number of seconds. | null | MEDIUM
 | *camel.component.aws2-sqs.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-sqs.messageDeduplicationId Strategy* | 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. One of: [useExchangeId] [useContentBasedDeduplication] | "useExchangeId" | MEDIUM
diff --git a/connectors/camel-aws2-sqs-kafka-connector/src/main/docs/camel-aws2-sqs-kafka-source-connector.adoc b/connectors/camel-aws2-sqs-kafka-connector/src/main/docs/camel-aws2-sqs-kafka-source-connector.adoc
index 675c7eb..592b923 100644
--- a/connectors/camel-aws2-sqs-kafka-connector/src/main/docs/camel-aws2-sqs-kafka-source-connector.adoc
+++ b/connectors/camel-aws2-sqs-kafka-connector/src/main/docs/camel-aws2-sqs-kafka-source-connector.adoc
@@ -30,7 +30,7 @@ The camel-aws2-sqs source connector supports 87 options, which are listed below.
 | *camel.source.endpoint.protocol* | The underlying protocol used to communicate with SQS | "https" | MEDIUM
 | *camel.source.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the SQS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.source.endpoint.queueOwnerAWSAccountId* | Specify the queue owner aws account id when you need to connect the queue with different account owner. | null | MEDIUM
-| *camel.source.endpoint.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
+| *camel.source.endpoint.region* | The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.source.endpoint.attributeNames* | A list of attribute names to receive when consuming. Multiple names can be separated by comma. | null | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.source.endpoint.concurrentConsumers* | Allows you to use multiple threads to poll the sqs queue to increase throughput | 1 | MEDIUM
@@ -83,7 +83,7 @@ The camel-aws2-sqs source connector supports 87 options, which are listed below.
 | *camel.component.aws2-sqs.protocol* | The underlying protocol used to communicate with SQS | "https" | MEDIUM
 | *camel.component.aws2-sqs.proxyProtocol* | To define a proxy protocol when instantiating the SQS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.component.aws2-sqs.queueOwnerAWSAccountId* | Specify the queue owner aws account id when you need to connect the queue with different account owner. | null | MEDIUM
-| *camel.component.aws2-sqs.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
+| *camel.component.aws2-sqs.region* | The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.component.aws2-sqs.attributeNames* | A list of attribute names to receive when consuming. Multiple names can be separated by comma. | null | MEDIUM
 | *camel.component.aws2-sqs.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.aws2-sqs.concurrentConsumers* | Allows you to use multiple threads to poll the sqs queue to increase throughput | 1 | MEDIUM
diff --git a/connectors/camel-aws2-sqs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2sqs/CamelAws2sqsSinkConnectorConfig.java b/connectors/camel-aws2-sqs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2sqs/CamelAws2sqsSinkConnectorConfig.java
index c0a09f3..da432bb 100644
--- a/connectors/camel-aws2-sqs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2sqs/CamelAws2sqsSinkConnectorConfig.java
+++ b/connectors/camel-aws2-sqs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2sqs/CamelAws2sqsSinkConnectorConfig.java
@@ -49,7 +49,7 @@ public class CamelAws2sqsSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2SQS_ENDPOINT_QUEUE_OWNER_AWSACCOUNT_ID_DOC = "Specify the queue owner aws account id when you need to connect the queue with different account owner.";
     public static final String CAMEL_SINK_AWS2SQS_ENDPOINT_QUEUE_OWNER_AWSACCOUNT_ID_DEFAULT = null;
     public static final String CAMEL_SINK_AWS2SQS_ENDPOINT_REGION_CONF = "camel.sink.endpoint.region";
-    public static final String CAMEL_SINK_AWS2SQS_ENDPOINT_REGION_DOC = "The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
+    public static final String CAMEL_SINK_AWS2SQS_ENDPOINT_REGION_DOC = "The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
     public static final String CAMEL_SINK_AWS2SQS_ENDPOINT_REGION_DEFAULT = null;
     public static final String CAMEL_SINK_AWS2SQS_ENDPOINT_DELAY_SECONDS_CONF = "camel.sink.endpoint.delaySeconds";
     public static final String CAMEL_SINK_AWS2SQS_ENDPOINT_DELAY_SECONDS_DOC = "Delay sending messages for a number of seconds.";
@@ -127,7 +127,7 @@ public class CamelAws2sqsSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AWS2SQS_COMPONENT_QUEUE_OWNER_AWSACCOUNT_ID_DOC = "Specify the queue owner aws account id when you need to connect the queue with different account owner.";
     public static final String CAMEL_SINK_AWS2SQS_COMPONENT_QUEUE_OWNER_AWSACCOUNT_ID_DEFAULT = null;
     public static final String CAMEL_SINK_AWS2SQS_COMPONENT_REGION_CONF = "camel.component.aws2-sqs.region";
-    public static final String CAMEL_SINK_AWS2SQS_COMPONENT_REGION_DOC = "The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
+    public static final String CAMEL_SINK_AWS2SQS_COMPONENT_REGION_DOC = "The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
     public static final String CAMEL_SINK_AWS2SQS_COMPONENT_REGION_DEFAULT = null;
     public static final String CAMEL_SINK_AWS2SQS_COMPONENT_DELAY_SECONDS_CONF = "camel.component.aws2-sqs.delaySeconds";
     public static final String CAMEL_SINK_AWS2SQS_COMPONENT_DELAY_SECONDS_DOC = "Delay sending messages for a number of seconds.";
diff --git a/connectors/camel-aws2-sqs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2sqs/CamelAws2sqsSourceConnectorConfig.java b/connectors/camel-aws2-sqs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2sqs/CamelAws2sqsSourceConnectorConfig.java
index 61e73c9..fa2d0e3 100644
--- a/connectors/camel-aws2-sqs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2sqs/CamelAws2sqsSourceConnectorConfig.java
+++ b/connectors/camel-aws2-sqs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2sqs/CamelAws2sqsSourceConnectorConfig.java
@@ -51,7 +51,7 @@ public class CamelAws2sqsSourceConnectorConfig
     public static final String CAMEL_SOURCE_AWS2SQS_ENDPOINT_QUEUE_OWNER_AWSACCOUNT_ID_DOC = "Specify the queue owner aws account id when you need to connect the queue with different account owner.";
     public static final String CAMEL_SOURCE_AWS2SQS_ENDPOINT_QUEUE_OWNER_AWSACCOUNT_ID_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWS2SQS_ENDPOINT_REGION_CONF = "camel.source.endpoint.region";
-    public static final String CAMEL_SOURCE_AWS2SQS_ENDPOINT_REGION_DOC = "The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
+    public static final String CAMEL_SOURCE_AWS2SQS_ENDPOINT_REGION_DOC = "The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
     public static final String CAMEL_SOURCE_AWS2SQS_ENDPOINT_REGION_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWS2SQS_ENDPOINT_ATTRIBUTE_NAMES_CONF = "camel.source.endpoint.attributeNames";
     public static final String CAMEL_SOURCE_AWS2SQS_ENDPOINT_ATTRIBUTE_NAMES_DOC = "A list of attribute names to receive when consuming. Multiple names can be separated by comma.";
@@ -210,7 +210,7 @@ public class CamelAws2sqsSourceConnectorConfig
     public static final String CAMEL_SOURCE_AWS2SQS_COMPONENT_QUEUE_OWNER_AWSACCOUNT_ID_DOC = "Specify the queue owner aws account id when you need to connect the queue with different account owner.";
     public static final String CAMEL_SOURCE_AWS2SQS_COMPONENT_QUEUE_OWNER_AWSACCOUNT_ID_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWS2SQS_COMPONENT_REGION_CONF = "camel.component.aws2-sqs.region";
-    public static final String CAMEL_SOURCE_AWS2SQS_COMPONENT_REGION_DOC = "The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
+    public static final String CAMEL_SOURCE_AWS2SQS_COMPONENT_REGION_DOC = "The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()";
     public static final String CAMEL_SOURCE_AWS2SQS_COMPONENT_REGION_DEFAULT = null;
     public static final String CAMEL_SOURCE_AWS2SQS_COMPONENT_ATTRIBUTE_NAMES_CONF = "camel.component.aws2-sqs.attributeNames";
     public static final String CAMEL_SOURCE_AWS2SQS_COMPONENT_ATTRIBUTE_NAMES_DOC = "A list of attribute names to receive when consuming. Multiple names can be separated by comma.";
diff --git a/connectors/camel-aws2-translate-kafka-connector/src/main/docs/camel-aws2-translate-kafka-sink-connector.adoc b/connectors/camel-aws2-translate-kafka-connector/src/main/docs/camel-aws2-translate-kafka-sink-connector.adoc
index 5c8fc8d..a1208a0 100644
--- a/connectors/camel-aws2-translate-kafka-connector/src/main/docs/camel-aws2-translate-kafka-sink-connector.adoc
+++ b/connectors/camel-aws2-translate-kafka-connector/src/main/docs/camel-aws2-translate-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-translate-kafka-connector as sink make sure to use the fol
 ----
 
 
-The camel-aws2-translate sink connector supports 29 options, which are listed below.
+The camel-aws2-translate sink connector supports 31 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-translate sink connector supports 29 options, which are listed be
 | *camel.sink.endpoint.autodetectSourceLanguage* | Being able to autodetect the source language | false | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform One of: [translateText] | "translateText" | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the Translate client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the Translate client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the Translate client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -41,6 +42,7 @@ The camel-aws2-translate sink connector supports 29 options, which are listed be
 | *camel.component.aws2-translate.configuration* | Component configuration | null | MEDIUM
 | *camel.component.aws2-translate.lazyStartProducer* | 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 process [...]
 | *camel.component.aws2-translate.operation* | The operation to perform One of: [translateText] | "translateText" | HIGH
+| *camel.component.aws2-translate.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-translate.proxyHost* | To define a proxy host when instantiating the Translate client | null | MEDIUM
 | *camel.component.aws2-translate.proxyPort* | To define a proxy port when instantiating the Translate client | null | MEDIUM
 | *camel.component.aws2-translate.proxyProtocol* | To define a proxy protocol when instantiating the Translate client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/connectors/camel-aws2-translate-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2translate/CamelAws2translateSinkConnectorConfig.java b/connectors/camel-aws2-translate-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2translate/CamelAws2translateSinkConnectorConfig.java
index 0434ca6..fde00a4 100644
--- a/connectors/camel-aws2-translate-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2translate/CamelAws2translateSinkConnectorConfig.java
+++ b/connectors/camel-aws2-translate-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/aws2translate/CamelAws2translateSinkConnectorConfig.java
@@ -38,6 +38,9 @@ public class CamelAws2translateSinkConnectorConfig
     public static final String CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
     public static final String CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_OPERATION_DOC = "The operation to perform One of: [translateText]";
     public static final String CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_OPERATION_DEFAULT = "translateText";
+    public static final String CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_POJO_REQUEST_CONF = "camel.sink.endpoint.pojoRequest";
+    public static final String CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_HOST_CONF = "camel.sink.endpoint.proxyHost";
     public static final String CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_HOST_DOC = "To define a proxy host when instantiating the Translate client";
     public static final String CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_HOST_DEFAULT = null;
@@ -83,6 +86,9 @@ public class CamelAws2translateSinkConnectorConfig
     public static final String CAMEL_SINK_AWS2TRANSLATE_COMPONENT_OPERATION_CONF = "camel.component.aws2-translate.operation";
     public static final String CAMEL_SINK_AWS2TRANSLATE_COMPONENT_OPERATION_DOC = "The operation to perform One of: [translateText]";
     public static final String CAMEL_SINK_AWS2TRANSLATE_COMPONENT_OPERATION_DEFAULT = "translateText";
+    public static final String CAMEL_SINK_AWS2TRANSLATE_COMPONENT_POJO_REQUEST_CONF = "camel.component.aws2-translate.pojoRequest";
+    public static final String CAMEL_SINK_AWS2TRANSLATE_COMPONENT_POJO_REQUEST_DOC = "If we want to use a POJO request as body or not";
+    public static final Boolean CAMEL_SINK_AWS2TRANSLATE_COMPONENT_POJO_REQUEST_DEFAULT = false;
     public static final String CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_HOST_CONF = "camel.component.aws2-translate.proxyHost";
     public static final String CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_HOST_DOC = "To define a proxy host when instantiating the Translate client";
     public static final String CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_HOST_DEFAULT = null;
@@ -131,6 +137,7 @@ public class CamelAws2translateSinkConnectorConfig
         conf.define(CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_AUTODETECT_SOURCE_LANGUAGE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_AUTODETECT_SOURCE_LANGUAGE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_AUTODETECT_SOURCE_LANGUAGE_DOC);
         conf.define(CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_ENDPOINT_PROXY_PROTOCOL_DOC);
@@ -146,6 +153,7 @@ public class CamelAws2translateSinkConnectorConfig
         conf.define(CAMEL_SINK_AWS2TRANSLATE_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SINK_AWS2TRANSLATE_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AWS2TRANSLATE_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AWS2TRANSLATE_COMPONENT_POJO_REQUEST_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_POJO_REQUEST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_POJO_REQUEST_DOC);
         conf.define(CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_HOST_DOC);
         conf.define(CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_PORT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_PORT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_PORT_DOC);
         conf.define(CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AWS2TRANSLATE_COMPONENT_PROXY_PROTOCOL_DOC);
diff --git a/connectors/camel-azure-blob-kafka-connector/src/main/docs/camel-azure-blob-kafka-sink-connector.adoc b/connectors/camel-azure-blob-kafka-connector/src/main/docs/camel-azure-blob-kafka-sink-connector.adoc
index 447a431..f432405 100644
--- a/connectors/camel-azure-blob-kafka-connector/src/main/docs/camel-azure-blob-kafka-sink-connector.adoc
+++ b/connectors/camel-azure-blob-kafka-connector/src/main/docs/camel-azure-blob-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-azure-blob-kafka-connector as sink make sure to use the followi
 ----
 
 
-The camel-azure-blob sink connector supports 41 options, which are listed below.
+The camel-azure-blob sink connector supports 43 options, which are listed below.
 
 
 
@@ -32,6 +32,7 @@ The camel-azure-blob sink connector supports 41 options, which are listed below.
 | *camel.sink.endpoint.fileDir* | Set the file directory where the downloaded blobs will be saved to | null | MEDIUM
 | *camel.sink.endpoint.publicForRead* | Storage resources can be public for reading their content, if this property is enabled then the credentials do not have to be set | false | MEDIUM
 | *camel.sink.endpoint.streamReadSize* | Set the minimum read size in bytes when reading the blob content | null | MEDIUM
+| *camel.sink.endpoint.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.sink.endpoint.blobMetadata* | Set the blob meta-data | null | MEDIUM
 | *camel.sink.endpoint.blobPrefix* | Set a prefix which can be used for listing the blobs | null | MEDIUM
 | *camel.sink.endpoint.closeStreamAfterWrite* | Close the stream after write or keep it open, default is true | true | MEDIUM
@@ -52,6 +53,7 @@ The camel-azure-blob sink connector supports 41 options, which are listed below.
 | *camel.component.azure-blob.fileDir* | Set the file directory where the downloaded blobs will be saved to | null | MEDIUM
 | *camel.component.azure-blob.publicForRead* | Storage resources can be public for reading their content, if this property is enabled then the credentials do not have to be set | false | MEDIUM
 | *camel.component.azure-blob.streamReadSize* | Set the minimum read size in bytes when reading the blob content | null | MEDIUM
+| *camel.component.azure-blob.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.component.azure-blob.blobMetadata* | Set the blob meta-data | null | MEDIUM
 | *camel.component.azure-blob.blobPrefix* | Set a prefix which can be used for listing the blobs | null | MEDIUM
 | *camel.component.azure-blob.closeStreamAfterWrite* | Close the stream after write or keep it open, default is true | true | MEDIUM
diff --git a/connectors/camel-azure-blob-kafka-connector/src/main/docs/camel-azure-blob-kafka-source-connector.adoc b/connectors/camel-azure-blob-kafka-connector/src/main/docs/camel-azure-blob-kafka-source-connector.adoc
index 0669dda..41ac886 100644
--- a/connectors/camel-azure-blob-kafka-connector/src/main/docs/camel-azure-blob-kafka-source-connector.adoc
+++ b/connectors/camel-azure-blob-kafka-connector/src/main/docs/camel-azure-blob-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-azure-blob-kafka-connector as source make sure to use the follo
 ----
 
 
-The camel-azure-blob source connector supports 31 options, which are listed below.
+The camel-azure-blob source connector supports 33 options, which are listed below.
 
 
 
@@ -32,6 +32,7 @@ The camel-azure-blob source connector supports 31 options, which are listed belo
 | *camel.source.endpoint.fileDir* | Set the file directory where the downloaded blobs will be saved to | null | MEDIUM
 | *camel.source.endpoint.publicForRead* | Storage resources can be public for reading their content, if this property is enabled then the credentials do not have to be set | false | MEDIUM
 | *camel.source.endpoint.streamReadSize* | Set the minimum read size in bytes when reading the blob content | null | MEDIUM
+| *camel.source.endpoint.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
 | *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
@@ -48,6 +49,7 @@ The camel-azure-blob source connector supports 31 options, which are listed belo
 | *camel.component.azure-blob.fileDir* | Set the file directory where the downloaded blobs will be saved to | null | MEDIUM
 | *camel.component.azure-blob.publicForRead* | Storage resources can be public for reading their content, if this property is enabled then the credentials do not have to be set | false | MEDIUM
 | *camel.component.azure-blob.streamReadSize* | Set the minimum read size in bytes when reading the blob content | null | MEDIUM
+| *camel.component.azure-blob.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.component.azure-blob.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.azure-blob.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.azure-blob.configuration* | The Blob Service configuration | null | MEDIUM
diff --git a/connectors/camel-azure-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureblob/CamelAzureblobSinkConnectorConfig.java b/connectors/camel-azure-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureblob/CamelAzureblobSinkConnectorConfig.java
index aca11e0..e623647 100644
--- a/connectors/camel-azure-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureblob/CamelAzureblobSinkConnectorConfig.java
+++ b/connectors/camel-azure-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureblob/CamelAzureblobSinkConnectorConfig.java
@@ -56,6 +56,9 @@ public class CamelAzureblobSinkConnectorConfig
     public static final String CAMEL_SINK_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_CONF = "camel.sink.endpoint.streamReadSize";
     public static final String CAMEL_SINK_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_DOC = "Set the minimum read size in bytes when reading the blob content";
     public static final Integer CAMEL_SINK_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_DEFAULT = null;
+    public static final String CAMEL_SINK_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URICONF = "camel.sink.endpoint.validateClientURI";
+    public static final String CAMEL_SINK_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URIDOC = "Whether to validate the Azure client URI";
+    public static final Boolean CAMEL_SINK_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URIDEFAULT = true;
     public static final String CAMEL_SINK_AZUREBLOB_ENDPOINT_BLOB_METADATA_CONF = "camel.sink.endpoint.blobMetadata";
     public static final String CAMEL_SINK_AZUREBLOB_ENDPOINT_BLOB_METADATA_DOC = "Set the blob meta-data";
     public static final String CAMEL_SINK_AZUREBLOB_ENDPOINT_BLOB_METADATA_DEFAULT = null;
@@ -116,6 +119,9 @@ public class CamelAzureblobSinkConnectorConfig
     public static final String CAMEL_SINK_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_CONF = "camel.component.azure-blob.streamReadSize";
     public static final String CAMEL_SINK_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_DOC = "Set the minimum read size in bytes when reading the blob content";
     public static final Integer CAMEL_SINK_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_DEFAULT = null;
+    public static final String CAMEL_SINK_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URICONF = "camel.component.azure-blob.validateClientURI";
+    public static final String CAMEL_SINK_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URIDOC = "Whether to validate the Azure client URI";
+    public static final Boolean CAMEL_SINK_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URIDEFAULT = true;
     public static final String CAMEL_SINK_AZUREBLOB_COMPONENT_BLOB_METADATA_CONF = "camel.component.azure-blob.blobMetadata";
     public static final String CAMEL_SINK_AZUREBLOB_COMPONENT_BLOB_METADATA_DOC = "Set the blob meta-data";
     public static final String CAMEL_SINK_AZUREBLOB_COMPONENT_BLOB_METADATA_DEFAULT = null;
@@ -172,6 +178,7 @@ public class CamelAzureblobSinkConnectorConfig
         conf.define(CAMEL_SINK_AZUREBLOB_ENDPOINT_FILE_DIR_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREBLOB_ENDPOINT_FILE_DIR_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_ENDPOINT_FILE_DIR_DOC);
         conf.define(CAMEL_SINK_AZUREBLOB_ENDPOINT_PUBLIC_FOR_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZUREBLOB_ENDPOINT_PUBLIC_FOR_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_ENDPOINT_PUBLIC_FOR_READ_DOC);
         conf.define(CAMEL_SINK_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_CONF, ConfigDef.Type.INT, CAMEL_SINK_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_DOC);
+        conf.define(CAMEL_SINK_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URICONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URIDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URIDOC);
         conf.define(CAMEL_SINK_AZUREBLOB_ENDPOINT_BLOB_METADATA_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREBLOB_ENDPOINT_BLOB_METADATA_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_ENDPOINT_BLOB_METADATA_DOC);
         conf.define(CAMEL_SINK_AZUREBLOB_ENDPOINT_BLOB_PREFIX_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREBLOB_ENDPOINT_BLOB_PREFIX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_ENDPOINT_BLOB_PREFIX_DOC);
         conf.define(CAMEL_SINK_AZUREBLOB_ENDPOINT_CLOSE_STREAM_AFTER_WRITE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZUREBLOB_ENDPOINT_CLOSE_STREAM_AFTER_WRITE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_ENDPOINT_CLOSE_STREAM_AFTER_WRITE_DOC);
@@ -192,6 +199,7 @@ public class CamelAzureblobSinkConnectorConfig
         conf.define(CAMEL_SINK_AZUREBLOB_COMPONENT_FILE_DIR_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREBLOB_COMPONENT_FILE_DIR_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_COMPONENT_FILE_DIR_DOC);
         conf.define(CAMEL_SINK_AZUREBLOB_COMPONENT_PUBLIC_FOR_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZUREBLOB_COMPONENT_PUBLIC_FOR_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_COMPONENT_PUBLIC_FOR_READ_DOC);
         conf.define(CAMEL_SINK_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_CONF, ConfigDef.Type.INT, CAMEL_SINK_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_DOC);
+        conf.define(CAMEL_SINK_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URICONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URIDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URIDOC);
         conf.define(CAMEL_SINK_AZUREBLOB_COMPONENT_BLOB_METADATA_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREBLOB_COMPONENT_BLOB_METADATA_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_COMPONENT_BLOB_METADATA_DOC);
         conf.define(CAMEL_SINK_AZUREBLOB_COMPONENT_BLOB_PREFIX_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREBLOB_COMPONENT_BLOB_PREFIX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_COMPONENT_BLOB_PREFIX_DOC);
         conf.define(CAMEL_SINK_AZUREBLOB_COMPONENT_CLOSE_STREAM_AFTER_WRITE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZUREBLOB_COMPONENT_CLOSE_STREAM_AFTER_WRITE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREBLOB_COMPONENT_CLOSE_STREAM_AFTER_WRITE_DOC);
diff --git a/connectors/camel-azure-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureblob/CamelAzureblobSourceConnectorConfig.java b/connectors/camel-azure-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureblob/CamelAzureblobSourceConnectorConfig.java
index d82265a..8007e1c 100644
--- a/connectors/camel-azure-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureblob/CamelAzureblobSourceConnectorConfig.java
+++ b/connectors/camel-azure-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azureblob/CamelAzureblobSourceConnectorConfig.java
@@ -56,6 +56,9 @@ public class CamelAzureblobSourceConnectorConfig
     public static final String CAMEL_SOURCE_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_CONF = "camel.source.endpoint.streamReadSize";
     public static final String CAMEL_SOURCE_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_DOC = "Set the minimum read size in bytes when reading the blob content";
     public static final Integer CAMEL_SOURCE_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URICONF = "camel.source.endpoint.validateClientURI";
+    public static final String CAMEL_SOURCE_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URIDOC = "Whether to validate the Azure client URI";
+    public static final Boolean CAMEL_SOURCE_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URIDEFAULT = true;
     public static final String CAMEL_SOURCE_AZUREBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF = "camel.source.endpoint.bridgeErrorHandler";
     public static final String CAMEL_SOURCE_AZUREBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and i [...]
     public static final Boolean CAMEL_SOURCE_AZUREBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
@@ -104,6 +107,9 @@ public class CamelAzureblobSourceConnectorConfig
     public static final String CAMEL_SOURCE_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_CONF = "camel.component.azure-blob.streamReadSize";
     public static final String CAMEL_SOURCE_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_DOC = "Set the minimum read size in bytes when reading the blob content";
     public static final Integer CAMEL_SOURCE_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URICONF = "camel.component.azure-blob.validateClientURI";
+    public static final String CAMEL_SOURCE_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URIDOC = "Whether to validate the Azure client URI";
+    public static final Boolean CAMEL_SOURCE_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URIDEFAULT = true;
     public static final String CAMEL_SOURCE_AZUREBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_CONF = "camel.component.azure-blob.bridgeErrorHandler";
     public static final String CAMEL_SOURCE_AZUREBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and  [...]
     public static final Boolean CAMEL_SOURCE_AZUREBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
@@ -142,6 +148,7 @@ public class CamelAzureblobSourceConnectorConfig
         conf.define(CAMEL_SOURCE_AZUREBLOB_ENDPOINT_FILE_DIR_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_FILE_DIR_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_FILE_DIR_DOC);
         conf.define(CAMEL_SOURCE_AZUREBLOB_ENDPOINT_PUBLIC_FOR_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_PUBLIC_FOR_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_PUBLIC_FOR_READ_DOC);
         conf.define(CAMEL_SOURCE_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_STREAM_READ_SIZE_DOC);
+        conf.define(CAMEL_SOURCE_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URICONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URIDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_VALIDATE_CLIENT_URIDOC);
         conf.define(CAMEL_SOURCE_AZUREBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_AZUREBLOB_ENDPOINT_EXCEPTION_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_EXCEPTION_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_EXCEPTION_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_AZUREBLOB_ENDPOINT_EXCHANGE_PATTERN_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_EXCHANGE_PATTERN_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_ENDPOINT_EXCHANGE_PATTERN_DOC);
@@ -158,6 +165,7 @@ public class CamelAzureblobSourceConnectorConfig
         conf.define(CAMEL_SOURCE_AZUREBLOB_COMPONENT_FILE_DIR_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREBLOB_COMPONENT_FILE_DIR_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_COMPONENT_FILE_DIR_DOC);
         conf.define(CAMEL_SOURCE_AZUREBLOB_COMPONENT_PUBLIC_FOR_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREBLOB_COMPONENT_PUBLIC_FOR_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_COMPONENT_PUBLIC_FOR_READ_DOC);
         conf.define(CAMEL_SOURCE_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_COMPONENT_STREAM_READ_SIZE_DOC);
+        conf.define(CAMEL_SOURCE_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URICONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URIDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_COMPONENT_VALIDATE_CLIENT_URIDOC);
         conf.define(CAMEL_SOURCE_AZUREBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_AZUREBLOB_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREBLOB_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SOURCE_AZUREBLOB_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREBLOB_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREBLOB_COMPONENT_CONFIGURATION_DOC);
diff --git a/connectors/camel-azure-queue-kafka-connector/src/main/docs/camel-azure-queue-kafka-sink-connector.adoc b/connectors/camel-azure-queue-kafka-connector/src/main/docs/camel-azure-queue-kafka-sink-connector.adoc
index 97b0e1d..09cbd70 100644
--- a/connectors/camel-azure-queue-kafka-connector/src/main/docs/camel-azure-queue-kafka-sink-connector.adoc
+++ b/connectors/camel-azure-queue-kafka-connector/src/main/docs/camel-azure-queue-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-azure-queue-kafka-connector as sink make sure to use the follow
 ----
 
 
-The camel-azure-queue sink connector supports 23 options, which are listed below.
+The camel-azure-queue sink connector supports 25 options, which are listed below.
 
 
 
@@ -25,6 +25,7 @@ The camel-azure-queue sink connector supports 23 options, which are listed below
 | *camel.sink.path.containerAndQueueUri* | Container Queue compact Uri | null | HIGH
 | *camel.sink.endpoint.azureQueueClient* | The queue service client | null | MEDIUM
 | *camel.sink.endpoint.credentials* | Set the storage credentials, required in most cases | null | MEDIUM
+| *camel.sink.endpoint.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.messageTimeToLive* | Message Time To Live in seconds | null | MEDIUM
 | *camel.sink.endpoint.messageVisibilityDelay* | Message Visibility Delay in seconds | null | MEDIUM
@@ -36,6 +37,7 @@ The camel-azure-queue sink connector supports 23 options, which are listed below
 | *camel.sink.endpoint.credentialsAccountName* | Set the storage account name used during authentication phase | null | MEDIUM
 | *camel.component.azure-queue.azureQueueClient* | The queue service client | null | MEDIUM
 | *camel.component.azure-queue.credentials* | Set the storage credentials, required in most cases | null | MEDIUM
+| *camel.component.azure-queue.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.component.azure-queue.lazyStartProducer* | 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  [...]
 | *camel.component.azure-queue.messageTimeToLive* | Message Time To Live in seconds | null | MEDIUM
 | *camel.component.azure-queue.messageVisibilityDelay* | Message Visibility Delay in seconds | null | MEDIUM
diff --git a/connectors/camel-azure-queue-kafka-connector/src/main/docs/camel-azure-queue-kafka-source-connector.adoc b/connectors/camel-azure-queue-kafka-connector/src/main/docs/camel-azure-queue-kafka-source-connector.adoc
index 200e386..c5f6429 100644
--- a/connectors/camel-azure-queue-kafka-connector/src/main/docs/camel-azure-queue-kafka-source-connector.adoc
+++ b/connectors/camel-azure-queue-kafka-connector/src/main/docs/camel-azure-queue-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-azure-queue-kafka-connector as source make sure to use the foll
 ----
 
 
-The camel-azure-queue source connector supports 17 options, which are listed below.
+The camel-azure-queue source connector supports 19 options, which are listed below.
 
 
 
@@ -25,6 +25,7 @@ The camel-azure-queue source connector supports 17 options, which are listed bel
 | *camel.source.path.containerAndQueueUri* | Container Queue compact Uri | null | HIGH
 | *camel.source.endpoint.azureQueueClient* | The queue service client | null | MEDIUM
 | *camel.source.endpoint.credentials* | Set the storage credentials, required in most cases | null | MEDIUM
+| *camel.source.endpoint.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
 | *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
@@ -34,6 +35,7 @@ The camel-azure-queue source connector supports 17 options, which are listed bel
 | *camel.source.endpoint.credentialsAccountName* | Set the storage account name used during authentication phase | null | MEDIUM
 | *camel.component.azure-queue.azureQueueClient* | The queue service client | null | MEDIUM
 | *camel.component.azure-queue.credentials* | Set the storage credentials, required in most cases | null | MEDIUM
+| *camel.component.azure-queue.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.component.azure-queue.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.azure-queue.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.azure-queue.configuration* | The Queue Service configuration | null | MEDIUM
diff --git a/connectors/camel-azure-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurequeue/CamelAzurequeueSinkConnectorConfig.java b/connectors/camel-azure-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurequeue/CamelAzurequeueSinkConnectorConfig.java
index 8642e8a..3373626 100644
--- a/connectors/camel-azure-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurequeue/CamelAzurequeueSinkConnectorConfig.java
+++ b/connectors/camel-azure-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurequeue/CamelAzurequeueSinkConnectorConfig.java
@@ -35,6 +35,9 @@ public class CamelAzurequeueSinkConnectorConfig
     public static final String CAMEL_SINK_AZUREQUEUE_ENDPOINT_CREDENTIALS_CONF = "camel.sink.endpoint.credentials";
     public static final String CAMEL_SINK_AZUREQUEUE_ENDPOINT_CREDENTIALS_DOC = "Set the storage credentials, required in most cases";
     public static final String CAMEL_SINK_AZUREQUEUE_ENDPOINT_CREDENTIALS_DEFAULT = null;
+    public static final String CAMEL_SINK_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URICONF = "camel.sink.endpoint.validateClientURI";
+    public static final String CAMEL_SINK_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URIDOC = "Whether to validate the Azure client URI";
+    public static final Boolean CAMEL_SINK_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URIDEFAULT = true;
     public static final String CAMEL_SINK_AZUREQUEUE_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
     public static final String CAMEL_SINK_AZUREQUEUE_ENDPOINT_LAZY_START_PRODUCER_DOC = "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 [...]
     public static final Boolean CAMEL_SINK_AZUREQUEUE_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -68,6 +71,9 @@ public class CamelAzurequeueSinkConnectorConfig
     public static final String CAMEL_SINK_AZUREQUEUE_COMPONENT_CREDENTIALS_CONF = "camel.component.azure-queue.credentials";
     public static final String CAMEL_SINK_AZUREQUEUE_COMPONENT_CREDENTIALS_DOC = "Set the storage credentials, required in most cases";
     public static final String CAMEL_SINK_AZUREQUEUE_COMPONENT_CREDENTIALS_DEFAULT = null;
+    public static final String CAMEL_SINK_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URICONF = "camel.component.azure-queue.validateClientURI";
+    public static final String CAMEL_SINK_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URIDOC = "Whether to validate the Azure client URI";
+    public static final Boolean CAMEL_SINK_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URIDEFAULT = true;
     public static final String CAMEL_SINK_AZUREQUEUE_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.azure-queue.lazyStartProducer";
     public static final String CAMEL_SINK_AZUREQUEUE_COMPONENT_LAZY_START_PRODUCER_DOC = "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 tha [...]
     public static final Boolean CAMEL_SINK_AZUREQUEUE_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -111,6 +117,7 @@ public class CamelAzurequeueSinkConnectorConfig
         conf.define(CAMEL_SINK_AZUREQUEUE_PATH_CONTAINER_AND_QUEUE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREQUEUE_PATH_CONTAINER_AND_QUEUE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_AZUREQUEUE_PATH_CONTAINER_AND_QUEUE_URI_DOC);
         conf.define(CAMEL_SINK_AZUREQUEUE_ENDPOINT_AZURE_QUEUE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREQUEUE_ENDPOINT_AZURE_QUEUE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_ENDPOINT_AZURE_QUEUE_CLIENT_DOC);
         conf.define(CAMEL_SINK_AZUREQUEUE_ENDPOINT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREQUEUE_ENDPOINT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_ENDPOINT_CREDENTIALS_DOC);
+        conf.define(CAMEL_SINK_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URICONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URIDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URIDOC);
         conf.define(CAMEL_SINK_AZUREQUEUE_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZUREQUEUE_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AZUREQUEUE_ENDPOINT_MESSAGE_TIME_TO_LIVE_CONF, ConfigDef.Type.INT, CAMEL_SINK_AZUREQUEUE_ENDPOINT_MESSAGE_TIME_TO_LIVE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_ENDPOINT_MESSAGE_TIME_TO_LIVE_DOC);
         conf.define(CAMEL_SINK_AZUREQUEUE_ENDPOINT_MESSAGE_VISIBILITY_DELAY_CONF, ConfigDef.Type.INT, CAMEL_SINK_AZUREQUEUE_ENDPOINT_MESSAGE_VISIBILITY_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_ENDPOINT_MESSAGE_VISIBILITY_DELAY_DOC);
@@ -122,6 +129,7 @@ public class CamelAzurequeueSinkConnectorConfig
         conf.define(CAMEL_SINK_AZUREQUEUE_ENDPOINT_CREDENTIALS_ACCOUNT_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREQUEUE_ENDPOINT_CREDENTIALS_ACCOUNT_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_ENDPOINT_CREDENTIALS_ACCOUNT_NAME_DOC);
         conf.define(CAMEL_SINK_AZUREQUEUE_COMPONENT_AZURE_QUEUE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREQUEUE_COMPONENT_AZURE_QUEUE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_COMPONENT_AZURE_QUEUE_CLIENT_DOC);
         conf.define(CAMEL_SINK_AZUREQUEUE_COMPONENT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZUREQUEUE_COMPONENT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_COMPONENT_CREDENTIALS_DOC);
+        conf.define(CAMEL_SINK_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URICONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URIDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URIDOC);
         conf.define(CAMEL_SINK_AZUREQUEUE_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZUREQUEUE_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_AZUREQUEUE_COMPONENT_MESSAGE_TIME_TO_LIVE_CONF, ConfigDef.Type.INT, CAMEL_SINK_AZUREQUEUE_COMPONENT_MESSAGE_TIME_TO_LIVE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_COMPONENT_MESSAGE_TIME_TO_LIVE_DOC);
         conf.define(CAMEL_SINK_AZUREQUEUE_COMPONENT_MESSAGE_VISIBILITY_DELAY_CONF, ConfigDef.Type.INT, CAMEL_SINK_AZUREQUEUE_COMPONENT_MESSAGE_VISIBILITY_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZUREQUEUE_COMPONENT_MESSAGE_VISIBILITY_DELAY_DOC);
diff --git a/connectors/camel-azure-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurequeue/CamelAzurequeueSourceConnectorConfig.java b/connectors/camel-azure-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurequeue/CamelAzurequeueSourceConnectorConfig.java
index 1451224..ee00e0a 100644
--- a/connectors/camel-azure-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurequeue/CamelAzurequeueSourceConnectorConfig.java
+++ b/connectors/camel-azure-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurequeue/CamelAzurequeueSourceConnectorConfig.java
@@ -35,6 +35,9 @@ public class CamelAzurequeueSourceConnectorConfig
     public static final String CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_CREDENTIALS_CONF = "camel.source.endpoint.credentials";
     public static final String CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_CREDENTIALS_DOC = "Set the storage credentials, required in most cases";
     public static final String CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_CREDENTIALS_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URICONF = "camel.source.endpoint.validateClientURI";
+    public static final String CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URIDOC = "Whether to validate the Azure client URI";
+    public static final Boolean CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URIDEFAULT = true;
     public static final String CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF = "camel.source.endpoint.bridgeErrorHandler";
     public static final String CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and  [...]
     public static final Boolean CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
@@ -62,6 +65,9 @@ public class CamelAzurequeueSourceConnectorConfig
     public static final String CAMEL_SOURCE_AZUREQUEUE_COMPONENT_CREDENTIALS_CONF = "camel.component.azure-queue.credentials";
     public static final String CAMEL_SOURCE_AZUREQUEUE_COMPONENT_CREDENTIALS_DOC = "Set the storage credentials, required in most cases";
     public static final String CAMEL_SOURCE_AZUREQUEUE_COMPONENT_CREDENTIALS_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URICONF = "camel.component.azure-queue.validateClientURI";
+    public static final String CAMEL_SOURCE_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URIDOC = "Whether to validate the Azure client URI";
+    public static final Boolean CAMEL_SOURCE_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URIDEFAULT = true;
     public static final String CAMEL_SOURCE_AZUREQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_CONF = "camel.component.azure-queue.bridgeErrorHandler";
     public static final String CAMEL_SOURCE_AZUREQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and [...]
     public static final Boolean CAMEL_SOURCE_AZUREQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
@@ -93,6 +99,7 @@ public class CamelAzurequeueSourceConnectorConfig
         conf.define(CAMEL_SOURCE_AZUREQUEUE_PATH_CONTAINER_AND_QUEUE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREQUEUE_PATH_CONTAINER_AND_QUEUE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SOURCE_AZUREQUEUE_PATH_CONTAINER_AND_QUEUE_URI_DOC);
         conf.define(CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_AZURE_QUEUE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_AZURE_QUEUE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_AZURE_QUEUE_CLIENT_DOC);
         conf.define(CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_CREDENTIALS_DOC);
+        conf.define(CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URICONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URIDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_VALIDATE_CLIENT_URIDOC);
         conf.define(CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_EXCEPTION_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_EXCEPTION_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_EXCEPTION_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_EXCHANGE_PATTERN_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_EXCHANGE_PATTERN_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_EXCHANGE_PATTERN_DOC);
@@ -102,6 +109,7 @@ public class CamelAzurequeueSourceConnectorConfig
         conf.define(CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_CREDENTIALS_ACCOUNT_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_CREDENTIALS_ACCOUNT_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_ENDPOINT_CREDENTIALS_ACCOUNT_NAME_DOC);
         conf.define(CAMEL_SOURCE_AZUREQUEUE_COMPONENT_AZURE_QUEUE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_AZURE_QUEUE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_AZURE_QUEUE_CLIENT_DOC);
         conf.define(CAMEL_SOURCE_AZUREQUEUE_COMPONENT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_CREDENTIALS_DOC);
+        conf.define(CAMEL_SOURCE_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URICONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URIDEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_VALIDATE_CLIENT_URIDOC);
         conf.define(CAMEL_SOURCE_AZUREQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_AZUREQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SOURCE_AZUREQUEUE_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZUREQUEUE_COMPONENT_CONFIGURATION_DOC);
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/pom.xml b/connectors/camel-azure-storage-blob-kafka-connector/pom.xml
new file mode 100644
index 0000000..b10acb8
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/pom.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.camel.kafkaconnector</groupId>
+    <artifactId>connectors</artifactId>
+    <version>0.3.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>camel-azure-storage-blob-kafka-connector</artifactId>
+  <name>Camel-Kafka-Connector :: azure-storage-blob</name>
+  <description>Camel Kafka Connector for azure-storage-blob</description>
+  <dependencies>
+    <!-- Kafka -->
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-transforms</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Camel -->
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-azure-storage-blob</artifactId>
+    </dependency>
+    <!--START OF GENERATED CODE-->
+    <dependency>
+      <groupId>org.apache.camel.kafkaconnector</groupId>
+      <artifactId>camel-kafka-connector</artifactId>
+    </dependency>
+    <!--END OF GENERATED CODE-->
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${version.maven.surefire.plugin}</version>
+        <configuration>
+          <failIfNoTests>false</failIfNoTests>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>${version.maven.jar}</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.5.1</version>
+        <inherited>true</inherited>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.5.3</version>
+        <configuration>
+          <descriptors>
+            <descriptor>src/main/assembly/package.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <!--START OF GENERATED CODE-->
+  <repositories>
+    <!-- camel-jira -->
+    <repository>
+      <id>atlassian-public</id>
+      <url>https://packages.atlassian.com/maven-external</url>
+      <name>Atlassian Public Repo</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <!-- camel-ipfs and camel-weka -->
+    <repository>
+      <id>jboss.thirdparty</id>
+      <name>JBoss Thirdparty Repository</name>
+      <url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <!--END OF GENERATED CODE-->
+</project>
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/assembly/package.xml b/connectors/camel-azure-storage-blob-kafka-connector/src/main/assembly/package.xml
new file mode 100644
index 0000000..b52bbc5
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/assembly/package.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<assembly>
+  <!-- Assembles a packaged version targeting OS installation. -->
+  <id>package</id>
+  <formats>
+    <format>zip</format>
+    <format>tar.gz</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}/../..</directory>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>licenses/</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>${project.basedir}/config</directory>
+      <outputDirectory>etc/${project.artifactId}</outputDirectory>
+      <includes>
+        <include>*</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <useProjectArtifact>true</useProjectArtifact>
+      <useTransitiveFiltering>true</useTransitiveFiltering>
+      <excludes>
+        <exclude>org.apache.kafka:connect-api</exclude>
+      </excludes>
+    </dependencySet>
+  </dependencySets>
+</assembly>
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/docs/camel-azure-storage-blob-kafka-sink-connector.adoc b/connectors/camel-azure-storage-blob-kafka-connector/src/main/docs/camel-azure-storage-blob-kafka-sink-connector.adoc
new file mode 100644
index 0000000..66baf67
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/docs/camel-azure-storage-blob-kafka-sink-connector.adoc
@@ -0,0 +1,61 @@
+// kafka-connector options: START
+[[camel-azure-storage-blob-kafka-connector-sink]]
+= camel-azure-storage-blob-kafka-connector sink configuration
+
+When using camel-azure-storage-blob-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-azure-storage-blob-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+
+The camel-azure-storage-blob sink connector supports 33 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.sink.path.accountName* | Azure account name to be used for authentication with azure blob services | null | MEDIUM
+| *camel.sink.path.containerName* | The blob container name | null | MEDIUM
+| *camel.sink.endpoint.blobName* | The blob name, required for consumer. However on producer, is only required for the operations on the blob level | null | MEDIUM
+| *camel.sink.endpoint.blobOffset* | Set the blob offset for the upload or download operations, default is 0 | 0L | MEDIUM
+| *camel.sink.endpoint.blobServiceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are [...]
+| *camel.sink.endpoint.blobType* | The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob] | "blockblob" | MEDIUM
+| *camel.sink.endpoint.closeStreamAfterRead* | Close the stream after read or keep it open, default is true | true | MEDIUM
+| *camel.sink.endpoint.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.sink.endpoint.dataCount* | How many bytes to include in the range. Must be greater than or equal to 0 if specified. | null | MEDIUM
+| *camel.sink.endpoint.fileDir* | The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer | null | MEDIUM
+| *camel.sink.endpoint.maxRetryRequests* | Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body. | 0 | MEDIUM
+| *camel.sink.endpoint.serviceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are ava [...]
+| *camel.sink.endpoint.closeStreamAfterWrite* | Close the stream after write or keep it open, default is true | true | MEDIUM
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.operation* | The blob operation that can be used with this component on the producer One of: [listBlobContainers] [createBlobContainer] [deleteBlobContainer] [listBlobs] [getBlob] [deleteBlob] [downloadBlobToFile] [downloadLink] [uploadBlockBlob] [stageBlockBlobList] [commitBlobBlockList] [getBlobBlockList] [createAppendBlob] [commitAppendBlob] [createPageBlob] [uploadPageBlob] [resizePageBlob] [clearPageBlob] [getPageBlobRanges] | "listBlobContainers" | MEDIUM
+| *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.sink.endpoint.accessKey* | Access key for the associated azure account name to be used for authentication with azure blob services | null | MEDIUM
+| *camel.component.azure-storage-blob.blobName* | The blob name, required for consumer. However on producer, is only required for the operations on the blob level | null | MEDIUM
+| *camel.component.azure-storage-blob.blobOffset* | Set the blob offset for the upload or download operations, default is 0 | 0L | MEDIUM
+| *camel.component.azure-storage-blob.blobType* | The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob] | "blockblob" | MEDIUM
+| *camel.component.azure-storage-blob.closeStream AfterRead* | Close the stream after read or keep it open, default is true | true | MEDIUM
+| *camel.component.azure-storage-blob.configuration* | The component configurations | null | MEDIUM
+| *camel.component.azure-storage-blob.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.component.azure-storage-blob.dataCount* | How many bytes to include in the range. Must be greater than or equal to 0 if specified. | null | MEDIUM
+| *camel.component.azure-storage-blob.fileDir* | The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer | null | MEDIUM
+| *camel.component.azure-storage-blob.maxRetry Requests* | Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body. | 0 | MEDIUM
+| *camel.component.azure-storage-blob.serviceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on [...]
+| *camel.component.azure-storage-blob.closeStream AfterWrite* | Close the stream after write or keep it open, default is true | true | MEDIUM
+| *camel.component.azure-storage-blob.lazyStart 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 pr [...]
+| *camel.component.azure-storage-blob.operation* | The blob operation that can be used with this component on the producer One of: [listBlobContainers] [createBlobContainer] [deleteBlobContainer] [listBlobs] [getBlob] [deleteBlob] [downloadBlobToFile] [downloadLink] [uploadBlockBlob] [stageBlockBlobList] [commitBlobBlockList] [getBlobBlockList] [createAppendBlob] [commitAppendBlob] [createPageBlob] [uploadPageBlob] [resizePageBlob] [clearPageBlob] [getPageBlobRanges] | "listBlobContainer [...]
+| *camel.component.azure-storage-blob.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.azure-storage-blob.accessKey* | Access key for the associated azure account name to be used for authentication with azure blob services | null | MEDIUM
+|===
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/docs/camel-azure-storage-blob-kafka-source-connector.adoc b/connectors/camel-azure-storage-blob-kafka-connector/src/main/docs/camel-azure-storage-blob-kafka-source-connector.adoc
new file mode 100644
index 0000000..ca57ddf
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/docs/camel-azure-storage-blob-kafka-source-connector.adoc
@@ -0,0 +1,59 @@
+// kafka-connector options: START
+[[camel-azure-storage-blob-kafka-connector-source]]
+= camel-azure-storage-blob-kafka-connector source configuration
+
+When using camel-azure-storage-blob-kafka-connector as source make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-azure-storage-blob-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+
+The camel-azure-storage-blob source connector supports 31 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.source.path.accountName* | Azure account name to be used for authentication with azure blob services | null | MEDIUM
+| *camel.source.path.containerName* | The blob container name | null | MEDIUM
+| *camel.source.endpoint.blobName* | The blob name, required for consumer. However on producer, is only required for the operations on the blob level | null | MEDIUM
+| *camel.source.endpoint.blobOffset* | Set the blob offset for the upload or download operations, default is 0 | 0L | MEDIUM
+| *camel.source.endpoint.blobServiceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob a [...]
+| *camel.source.endpoint.blobType* | The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob] | "blockblob" | MEDIUM
+| *camel.source.endpoint.closeStreamAfterRead* | Close the stream after read or keep it open, default is true | true | MEDIUM
+| *camel.source.endpoint.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.source.endpoint.dataCount* | How many bytes to include in the range. Must be greater than or equal to 0 if specified. | null | MEDIUM
+| *camel.source.endpoint.fileDir* | The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer | null | MEDIUM
+| *camel.source.endpoint.maxRetryRequests* | Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body. | 0 | MEDIUM
+| *camel.source.endpoint.serviceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are a [...]
+| *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
+| *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
+| *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
+| *camel.source.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.source.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.source.endpoint.accessKey* | Access key for the associated azure account name to be used for authentication with azure blob services | null | MEDIUM
+| *camel.component.azure-storage-blob.blobName* | The blob name, required for consumer. However on producer, is only required for the operations on the blob level | null | MEDIUM
+| *camel.component.azure-storage-blob.blobOffset* | Set the blob offset for the upload or download operations, default is 0 | 0L | MEDIUM
+| *camel.component.azure-storage-blob.blobType* | The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob] | "blockblob" | MEDIUM
+| *camel.component.azure-storage-blob.closeStream AfterRead* | Close the stream after read or keep it open, default is true | true | MEDIUM
+| *camel.component.azure-storage-blob.configuration* | The component configurations | null | MEDIUM
+| *camel.component.azure-storage-blob.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.component.azure-storage-blob.dataCount* | How many bytes to include in the range. Must be greater than or equal to 0 if specified. | null | MEDIUM
+| *camel.component.azure-storage-blob.fileDir* | The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer | null | MEDIUM
+| *camel.component.azure-storage-blob.maxRetry Requests* | Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body. | 0 | MEDIUM
+| *camel.component.azure-storage-blob.serviceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on [...]
+| *camel.component.azure-storage-blob.bridgeError Handler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
+| *camel.component.azure-storage-blob.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.azure-storage-blob.accessKey* | Access key for the associated azure account name to be used for authentication with azure blob services | null | MEDIUM
+|===
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSinkConnector.java b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSinkConnector.java
new file mode 100644
index 0000000..a3ad408
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSinkConnector.java
@@ -0,0 +1,35 @@
+/*
+ * 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.kafkaconnector.azurestorageblob;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestorageblobSinkConnector extends CamelSinkConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelAzurestorageblobSinkConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelAzurestorageblobSinkTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSinkConnectorConfig.java b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSinkConnectorConfig.java
new file mode 100644
index 0000000..7166175
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSinkConnectorConfig.java
@@ -0,0 +1,177 @@
+/*
+ * 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.kafkaconnector.azurestorageblob;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestorageblobSinkConnectorConfig
+        extends
+            CamelSinkConnectorConfig {
+
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_CONF = "camel.sink.path.accountName";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_DOC = "Azure account name to be used for authentication with azure blob services";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_CONF = "camel.sink.path.containerName";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_DOC = "The blob container name";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_CONF = "camel.sink.endpoint.blobName";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_DOC = "The blob name, required for consumer. However on producer, is only required for the operations on the blob level";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_CONF = "camel.sink.endpoint.blobOffset";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_DOC = "Set the blob offset for the upload or download operations, default is 0";
+    public static final Long CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_DEFAULT = 0L;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_CONF = "camel.sink.endpoint.blobServiceClient";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_DOC = "Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobCo [...]
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_CONF = "camel.sink.endpoint.blobType";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_DOC = "The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob]";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_DEFAULT = "blockblob";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_CONF = "camel.sink.endpoint.closeStreamAfterRead";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_DOC = "Close the stream after read or keep it open, default is true";
+    public static final Boolean CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_DEFAULT = true;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_CONF = "camel.sink.endpoint.credentials";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_DOC = "StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_CONF = "camel.sink.endpoint.dataCount";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_DOC = "How many bytes to include in the range. Must be greater than or equal to 0 if specified.";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_CONF = "camel.sink.endpoint.fileDir";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_DOC = "The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_CONF = "camel.sink.endpoint.maxRetryRequests";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_DOC = "Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body.";
+    public static final Integer CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_DEFAULT = 0;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_CONF = "camel.sink.endpoint.serviceClient";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_DOC = "Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContain [...]
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_WRITE_CONF = "camel.sink.endpoint.closeStreamAfterWrite";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_WRITE_DOC = "Close the stream after write or keep it open, default is true";
+    public static final Boolean CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_WRITE_DEFAULT = true;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_LAZY_START_PRODUCER_DOC = "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. Bewar [...]
+    public static final Boolean CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_OPERATION_DOC = "The blob operation that can be used with this component on the producer One of: [listBlobContainers] [createBlobContainer] [deleteBlobContainer] [listBlobs] [getBlob] [deleteBlob] [downloadBlobToFile] [downloadLink] [uploadBlockBlob] [stageBlockBlobList] [commitBlobBlockList] [getBlobBlockList] [createAppendBlob] [commitAppendBlob] [createPageBlob] [uploadPageBlob] [resizePageBlob] [clearPageBlob] [getPa [...]
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_OPERATION_DEFAULT = "listBlobContainers";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_CONF = "camel.sink.endpoint.basicPropertyBinding";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_DOC = "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
+    public static final Boolean CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_CONF = "camel.sink.endpoint.accessKey";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_DOC = "Access key for the associated azure account name to be used for authentication with azure blob services";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_CONF = "camel.component.azure-storage-blob.blobName";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_DOC = "The blob name, required for consumer. However on producer, is only required for the operations on the blob level";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_CONF = "camel.component.azure-storage-blob.blobOffset";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_DOC = "Set the blob offset for the upload or download operations, default is 0";
+    public static final Long CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_DEFAULT = 0L;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_CONF = "camel.component.azure-storage-blob.blobType";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_DOC = "The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob]";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_DEFAULT = "blockblob";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_CONF = "camel.component.azure-storage-blob.closeStreamAfterRead";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_DOC = "Close the stream after read or keep it open, default is true";
+    public static final Boolean CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_DEFAULT = true;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_CONF = "camel.component.azure-storage-blob.configuration";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_DOC = "The component configurations";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_CONF = "camel.component.azure-storage-blob.credentials";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_DOC = "StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_CONF = "camel.component.azure-storage-blob.dataCount";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_DOC = "How many bytes to include in the range. Must be greater than or equal to 0 if specified.";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_CONF = "camel.component.azure-storage-blob.fileDir";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_DOC = "The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_CONF = "camel.component.azure-storage-blob.maxRetryRequests";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_DOC = "Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body.";
+    public static final Integer CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_DEFAULT = 0;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_CONF = "camel.component.azure-storage-blob.serviceClient";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_DOC = "Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContai [...]
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_WRITE_CONF = "camel.component.azure-storage-blob.closeStreamAfterWrite";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_WRITE_DOC = "Close the stream after write or keep it open, default is true";
+    public static final Boolean CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_WRITE_DEFAULT = true;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.azure-storage-blob.lazyStartProducer";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_LAZY_START_PRODUCER_DOC = "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. Bewa [...]
+    public static final Boolean CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_OPERATION_CONF = "camel.component.azure-storage-blob.operation";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_OPERATION_DOC = "The blob operation that can be used with this component on the producer One of: [listBlobContainers] [createBlobContainer] [deleteBlobContainer] [listBlobs] [getBlob] [deleteBlob] [downloadBlobToFile] [downloadLink] [uploadBlockBlob] [stageBlockBlobList] [commitBlobBlockList] [getBlobBlockList] [createAppendBlob] [commitAppendBlob] [createPageBlob] [uploadPageBlob] [resizePageBlob] [clearPageBlob] [getP [...]
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_OPERATION_DEFAULT = "listBlobContainers";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.azure-storage-blob.basicPropertyBinding";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_CONF = "camel.component.azure-storage-blob.accessKey";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_DOC = "Access key for the associated azure account name to be used for authentication with azure blob services";
+    public static final String CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_DEFAULT = null;
+
+    public CamelAzurestorageblobSinkConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelAzurestorageblobSinkConnectorConfig(
+            Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_CONF, ConfigDef.Type.LONG, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_CONF, ConfigDef.Type.INT, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_WRITE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_WRITE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_WRITE_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_CONF, ConfigDef.Type.LONG, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_CONF, ConfigDef.Type.INT, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_WRITE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_WRITE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_WRITE_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSinkTask.java b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSinkTask.java
new file mode 100644
index 0000000..071d926
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSinkTask.java
@@ -0,0 +1,39 @@
+/*
+ * 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.kafkaconnector.azurestorageblob;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSinkTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestorageblobSinkTask extends CamelSinkTask {
+
+    @Override
+    protected CamelSinkConnectorConfig getCamelSinkConnectorConfig(
+            Map<String, String> props) {
+        return new CamelAzurestorageblobSinkConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSinkConnectorConfig.CAMEL_SINK_COMPONENT_CONF, "azure-storage-blob");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSourceConnector.java b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSourceConnector.java
new file mode 100644
index 0000000..abdfa01
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSourceConnector.java
@@ -0,0 +1,37 @@
+/*
+ * 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.kafkaconnector.azurestorageblob;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSourceConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestorageblobSourceConnector
+        extends
+            CamelSourceConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelAzurestorageblobSourceConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelAzurestorageblobSourceTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSourceConnectorConfig.java b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSourceConnectorConfig.java
new file mode 100644
index 0000000..a72c093
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSourceConnectorConfig.java
@@ -0,0 +1,169 @@
+/*
+ * 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.kafkaconnector.azurestorageblob;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestorageblobSourceConnectorConfig
+        extends
+            CamelSourceConnectorConfig {
+
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_CONF = "camel.source.path.accountName";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_DOC = "Azure account name to be used for authentication with azure blob services";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_CONF = "camel.source.path.containerName";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_DOC = "The blob container name";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_CONF = "camel.source.endpoint.blobName";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_DOC = "The blob name, required for consumer. However on producer, is only required for the operations on the blob level";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_CONF = "camel.source.endpoint.blobOffset";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_DOC = "Set the blob offset for the upload or download operations, default is 0";
+    public static final Long CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_DEFAULT = 0L;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_CONF = "camel.source.endpoint.blobServiceClient";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_DOC = "Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlob [...]
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_CONF = "camel.source.endpoint.blobType";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_DOC = "The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob]";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_DEFAULT = "blockblob";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_CONF = "camel.source.endpoint.closeStreamAfterRead";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_DOC = "Close the stream after read or keep it open, default is true";
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_DEFAULT = true;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_CONF = "camel.source.endpoint.credentials";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_DOC = "StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_CONF = "camel.source.endpoint.dataCount";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_DOC = "How many bytes to include in the range. Must be greater than or equal to 0 if specified.";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_CONF = "camel.source.endpoint.fileDir";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_DOC = "The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_CONF = "camel.source.endpoint.maxRetryRequests";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_DOC = "Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body.";
+    public static final Integer CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_DEFAULT = 0;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_CONF = "camel.source.endpoint.serviceClient";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_DOC = "Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobConta [...]
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF = "camel.source.endpoint.bridgeErrorHandler";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR leve [...]
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCEPTION_HANDLER_CONF = "camel.source.endpoint.exceptionHandler";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCEPTION_HANDLER_DOC = "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.";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCEPTION_HANDLER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCHANGE_PATTERN_CONF = "camel.source.endpoint.exchangePattern";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCHANGE_PATTERN_DOC = "Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut]";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCHANGE_PATTERN_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_CONF = "camel.source.endpoint.basicPropertyBinding";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_DOC = "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_CONF = "camel.source.endpoint.synchronous";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_CONF = "camel.source.endpoint.accessKey";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_DOC = "Access key for the associated azure account name to be used for authentication with azure blob services";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_CONF = "camel.component.azure-storage-blob.blobName";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_DOC = "The blob name, required for consumer. However on producer, is only required for the operations on the blob level";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_CONF = "camel.component.azure-storage-blob.blobOffset";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_DOC = "Set the blob offset for the upload or download operations, default is 0";
+    public static final Long CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_DEFAULT = 0L;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_CONF = "camel.component.azure-storage-blob.blobType";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_DOC = "The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob]";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_DEFAULT = "blockblob";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_CONF = "camel.component.azure-storage-blob.closeStreamAfterRead";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_DOC = "Close the stream after read or keep it open, default is true";
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_DEFAULT = true;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_CONF = "camel.component.azure-storage-blob.configuration";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_DOC = "The component configurations";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_CONF = "camel.component.azure-storage-blob.credentials";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_DOC = "StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_CONF = "camel.component.azure-storage-blob.dataCount";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_DOC = "How many bytes to include in the range. Must be greater than or equal to 0 if specified.";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_CONF = "camel.component.azure-storage-blob.fileDir";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_DOC = "The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_CONF = "camel.component.azure-storage-blob.maxRetryRequests";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_DOC = "Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body.";
+    public static final Integer CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_DEFAULT = 0;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_CONF = "camel.component.azure-storage-blob.serviceClient";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_DOC = "Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobCont [...]
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_CONF = "camel.component.azure-storage-blob.bridgeErrorHandler";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR lev [...]
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.azure-storage-blob.basicPropertyBinding";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_CONF = "camel.component.azure-storage-blob.accessKey";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_DOC = "Access key for the associated azure account name to be used for authentication with azure blob services";
+    public static final String CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_DEFAULT = null;
+
+    public CamelAzurestorageblobSourceConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelAzurestorageblobSourceConnectorConfig(
+            Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSourceConnectorConfig.conf());
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_ACCOUNT_NAME_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_PATH_CONTAINER_NAME_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_NAME_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_CONF, ConfigDef.Type.LONG, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_OFFSET_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_SERVICE_CLIENT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BLOB_TYPE_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CLOSE_STREAM_AFTER_READ_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_CREDENTIALS_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_DATA_COUNT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_FILE_DIR_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_MAX_RETRY_REQUESTS_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SERVICE_CLIENT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCEPTION_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCEPTION_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCEPTION_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCHANGE_PATTERN_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCHANGE_PATTERN_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_EXCHANGE_PATTERN_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_ENDPOINT_ACCESS_KEY_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_NAME_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_CONF, ConfigDef.Type.LONG, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_OFFSET_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BLOB_TYPE_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CLOSE_STREAM_AFTER_READ_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CONFIGURATION_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_CREDENTIALS_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_DATA_COUNT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_FILE_DIR_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_MAX_RETRY_REQUESTS_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_SERVICE_CLIENT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BRIDGE_ERROR_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEBLOB_COMPONENT_ACCESS_KEY_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSourceTask.java b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSourceTask.java
new file mode 100644
index 0000000..938e66d
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestorageblob/CamelAzurestorageblobSourceTask.java
@@ -0,0 +1,39 @@
+/*
+ * 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.kafkaconnector.azurestorageblob;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSourceTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestorageblobSourceTask extends CamelSourceTask {
+
+    @Override
+    protected CamelSourceConnectorConfig getCamelSourceConnectorConfig(
+            Map<String, String> props) {
+        return new CamelAzurestorageblobSourceConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSourceConnectorConfig.CAMEL_SOURCE_COMPONENT_CONF, "azure-storage-blob");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-azure-storage-blob-kafka-connector/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+
diff --git a/connectors/camel-azure-storage-blob-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-azure-storage-blob-kafka-connector/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/connectors/camel-azure-storage-blob-kafka-connector/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/pom.xml b/connectors/camel-azure-storage-queue-kafka-connector/pom.xml
new file mode 100644
index 0000000..c176493
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/pom.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.camel.kafkaconnector</groupId>
+    <artifactId>connectors</artifactId>
+    <version>0.3.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>camel-azure-storage-queue-kafka-connector</artifactId>
+  <name>Camel-Kafka-Connector :: azure-storage-queue</name>
+  <description>Camel Kafka Connector for azure-storage-queue</description>
+  <dependencies>
+    <!-- Kafka -->
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-transforms</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Camel -->
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-azure-storage-queue</artifactId>
+    </dependency>
+    <!--START OF GENERATED CODE-->
+    <dependency>
+      <groupId>org.apache.camel.kafkaconnector</groupId>
+      <artifactId>camel-kafka-connector</artifactId>
+    </dependency>
+    <!--END OF GENERATED CODE-->
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${version.maven.surefire.plugin}</version>
+        <configuration>
+          <failIfNoTests>false</failIfNoTests>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>${version.maven.jar}</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.5.1</version>
+        <inherited>true</inherited>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.5.3</version>
+        <configuration>
+          <descriptors>
+            <descriptor>src/main/assembly/package.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <!--START OF GENERATED CODE-->
+  <repositories>
+    <!-- camel-jira -->
+    <repository>
+      <id>atlassian-public</id>
+      <url>https://packages.atlassian.com/maven-external</url>
+      <name>Atlassian Public Repo</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <!-- camel-ipfs and camel-weka -->
+    <repository>
+      <id>jboss.thirdparty</id>
+      <name>JBoss Thirdparty Repository</name>
+      <url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <!--END OF GENERATED CODE-->
+</project>
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/assembly/package.xml b/connectors/camel-azure-storage-queue-kafka-connector/src/main/assembly/package.xml
new file mode 100644
index 0000000..b52bbc5
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/assembly/package.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<assembly>
+  <!-- Assembles a packaged version targeting OS installation. -->
+  <id>package</id>
+  <formats>
+    <format>zip</format>
+    <format>tar.gz</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}/../..</directory>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>licenses/</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>${project.basedir}/config</directory>
+      <outputDirectory>etc/${project.artifactId}</outputDirectory>
+      <includes>
+        <include>*</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <useProjectArtifact>true</useProjectArtifact>
+      <useTransitiveFiltering>true</useTransitiveFiltering>
+      <excludes>
+        <exclude>org.apache.kafka:connect-api</exclude>
+      </excludes>
+    </dependencySet>
+  </dependencySets>
+</assembly>
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/docs/camel-azure-storage-queue-kafka-sink-connector.adoc b/connectors/camel-azure-storage-queue-kafka-connector/src/main/docs/camel-azure-storage-queue-kafka-sink-connector.adoc
new file mode 100644
index 0000000..23f16dc
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/docs/camel-azure-storage-queue-kafka-sink-connector.adoc
@@ -0,0 +1,52 @@
+// kafka-connector options: START
+[[camel-azure-storage-queue-kafka-connector-sink]]
+= camel-azure-storage-queue-kafka-connector sink configuration
+
+When using camel-azure-storage-queue-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-azure-storage-queue-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+
+The camel-azure-storage-queue sink connector supports 24 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.sink.path.accountName* | Azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.sink.path.queueName* | The queue resource name | null | MEDIUM
+| *camel.sink.endpoint.serviceClient* | Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties of [...]
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.operation* | Queue service operation hint to the producer One of: [listQueues] [createQueue] [deleteQueue] [clearQueue] [sendMessage] [deleteMessage] [receiveMessages] [peekMessages] [updateMessage] | null | MEDIUM
+| *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.sink.endpoint.maxMessages* | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | "1" | MEDIUM
+| *camel.sink.endpoint.timeout* | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. | null | MEDIUM
+| *camel.sink.endpoint.timeToLive* | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null [...]
+| *camel.sink.endpoint.visibilityTimeout* | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | MEDIUM
+| *camel.sink.endpoint.accessKey* | Access key for the associated azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.sink.endpoint.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.component.azure-storage-queue.configuration* | The component configurations | null | MEDIUM
+| *camel.component.azure-storage-queue.serviceClient* | Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updati [...]
+| *camel.component.azure-storage-queue.lazyStart 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 p [...]
+| *camel.component.azure-storage-queue.operation* | Queue service operation hint to the producer One of: [listQueues] [createQueue] [deleteQueue] [clearQueue] [sendMessage] [deleteMessage] [receiveMessages] [peekMessages] [updateMessage] | null | MEDIUM
+| *camel.component.azure-storage-queue.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.azure-storage-queue.maxMessages* | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | "1" | MEDIUM
+| *camel.component.azure-storage-queue.timeout* | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. | null | MEDIUM
+| *camel.component.azure-storage-queue.timeToLive* | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are  [...]
+| *camel.component.azure-storage-queue.visibility Timeout* | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | MEDIUM
+| *camel.component.azure-storage-queue.accessKey* | Access key for the associated azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.component.azure-storage-queue.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+|===
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/docs/camel-azure-storage-queue-kafka-source-connector.adoc b/connectors/camel-azure-storage-queue-kafka-connector/src/main/docs/camel-azure-storage-queue-kafka-source-connector.adoc
new file mode 100644
index 0000000..6e3610b
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/docs/camel-azure-storage-queue-kafka-source-connector.adoc
@@ -0,0 +1,52 @@
+// kafka-connector options: START
+[[camel-azure-storage-queue-kafka-connector-source]]
+= camel-azure-storage-queue-kafka-connector source configuration
+
+When using camel-azure-storage-queue-kafka-connector as source make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-azure-storage-queue-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+
+The camel-azure-storage-queue source connector supports 24 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.source.path.accountName* | Azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.source.path.queueName* | The queue resource name | null | MEDIUM
+| *camel.source.endpoint.serviceClient* | Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties  [...]
+| *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
+| *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
+| *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
+| *camel.source.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.source.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.source.endpoint.maxMessages* | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | "1" | MEDIUM
+| *camel.source.endpoint.timeout* | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. | null | MEDIUM
+| *camel.source.endpoint.timeToLive* | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | nu [...]
+| *camel.source.endpoint.visibilityTimeout* | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | MEDIUM
+| *camel.source.endpoint.accessKey* | Access key for the associated azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.source.endpoint.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.component.azure-storage-queue.configuration* | The component configurations | null | MEDIUM
+| *camel.component.azure-storage-queue.serviceClient* | Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updati [...]
+| *camel.component.azure-storage-queue.bridgeError Handler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
+| *camel.component.azure-storage-queue.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.azure-storage-queue.maxMessages* | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | "1" | MEDIUM
+| *camel.component.azure-storage-queue.timeout* | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. | null | MEDIUM
+| *camel.component.azure-storage-queue.timeToLive* | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are  [...]
+| *camel.component.azure-storage-queue.visibility Timeout* | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | MEDIUM
+| *camel.component.azure-storage-queue.accessKey* | Access key for the associated azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.component.azure-storage-queue.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+|===
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSinkConnector.java b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSinkConnector.java
new file mode 100644
index 0000000..923b0b5
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSinkConnector.java
@@ -0,0 +1,35 @@
+/*
+ * 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.kafkaconnector.azurestoragequeue;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestoragequeueSinkConnector extends CamelSinkConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelAzurestoragequeueSinkConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelAzurestoragequeueSinkTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSinkConnectorConfig.java b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSinkConnectorConfig.java
new file mode 100644
index 0000000..31d9e92
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSinkConnectorConfig.java
@@ -0,0 +1,141 @@
+/*
+ * 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.kafkaconnector.azurestoragequeue;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestoragequeueSinkConnectorConfig
+        extends
+            CamelSinkConnectorConfig {
+
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_CONF = "camel.sink.path.accountName";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_DOC = "Azure account name to be used for authentication with azure queue services";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_CONF = "camel.sink.path.queueName";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_DOC = "The queue resource name";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_CONF = "camel.sink.endpoint.serviceClient";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_DOC = "Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and del [...]
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_LAZY_START_PRODUCER_DOC = "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. Bewa [...]
+    public static final Boolean CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_OPERATION_DOC = "Queue service operation hint to the producer One of: [listQueues] [createQueue] [deleteQueue] [clearQueue] [sendMessage] [deleteMessage] [receiveMessages] [peekMessages] [updateMessage]";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_CONF = "camel.sink.endpoint.basicPropertyBinding";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_DOC = "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
+    public static final Boolean CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_CONF = "camel.sink.endpoint.maxMessages";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_DOC = "Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages.";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_DEFAULT = "1";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_CONF = "camel.sink.endpoint.timeout";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_DOC = "An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown.";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_CONF = "camel.sink.endpoint.timeToLive";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_DOC = "How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.of [...]
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_CONF = "camel.sink.endpoint.visibilityTimeout";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_DOC = "The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe.";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_CONF = "camel.sink.endpoint.accessKey";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_DOC = "Access key for the associated azure account name to be used for authentication with azure queue services";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_CONF = "camel.sink.endpoint.credentials";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_DOC = "StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_CONF = "camel.component.azure-storage-queue.configuration";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_DOC = "The component configurations";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_CONF = "camel.component.azure-storage-queue.serviceClient";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_DOC = "Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and de [...]
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.azure-storage-queue.lazyStartProducer";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_LAZY_START_PRODUCER_DOC = "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. Bew [...]
+    public static final Boolean CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_OPERATION_CONF = "camel.component.azure-storage-queue.operation";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_OPERATION_DOC = "Queue service operation hint to the producer One of: [listQueues] [createQueue] [deleteQueue] [clearQueue] [sendMessage] [deleteMessage] [receiveMessages] [peekMessages] [updateMessage]";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_OPERATION_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.azure-storage-queue.basicPropertyBinding";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_CONF = "camel.component.azure-storage-queue.maxMessages";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_DOC = "Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages.";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_DEFAULT = "1";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_CONF = "camel.component.azure-storage-queue.timeout";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_DOC = "An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown.";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_CONF = "camel.component.azure-storage-queue.timeToLive";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_DOC = "How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.o [...]
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_CONF = "camel.component.azure-storage-queue.visibilityTimeout";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_DOC = "The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe.";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_CONF = "camel.component.azure-storage-queue.accessKey";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_DOC = "Access key for the associated azure account name to be used for authentication with azure queue services";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_DEFAULT = null;
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_CONF = "camel.component.azure-storage-queue.credentials";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_DOC = "StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information";
+    public static final String CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_DEFAULT = null;
+
+    public CamelAzurestoragequeueSinkConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelAzurestoragequeueSinkConnectorConfig(
+            Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_OPERATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_OPERATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_OPERATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_OPERATION_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_DOC);
+        conf.define(CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSinkTask.java b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSinkTask.java
new file mode 100644
index 0000000..26073f4
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSinkTask.java
@@ -0,0 +1,39 @@
+/*
+ * 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.kafkaconnector.azurestoragequeue;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSinkTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestoragequeueSinkTask extends CamelSinkTask {
+
+    @Override
+    protected CamelSinkConnectorConfig getCamelSinkConnectorConfig(
+            Map<String, String> props) {
+        return new CamelAzurestoragequeueSinkConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSinkConnectorConfig.CAMEL_SINK_COMPONENT_CONF, "azure-storage-queue");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSourceConnector.java b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSourceConnector.java
new file mode 100644
index 0000000..218e580
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSourceConnector.java
@@ -0,0 +1,37 @@
+/*
+ * 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.kafkaconnector.azurestoragequeue;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSourceConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestoragequeueSourceConnector
+        extends
+            CamelSourceConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelAzurestoragequeueSourceConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelAzurestoragequeueSourceTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSourceConnectorConfig.java b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSourceConnectorConfig.java
new file mode 100644
index 0000000..bb7424a
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSourceConnectorConfig.java
@@ -0,0 +1,141 @@
+/*
+ * 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.kafkaconnector.azurestoragequeue;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestoragequeueSourceConnectorConfig
+        extends
+            CamelSourceConnectorConfig {
+
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_CONF = "camel.source.path.accountName";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_DOC = "Azure account name to be used for authentication with azure queue services";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_CONF = "camel.source.path.queueName";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_DOC = "The queue resource name";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_CONF = "camel.source.endpoint.serviceClient";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_DOC = "Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and d [...]
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF = "camel.source.endpoint.bridgeErrorHandler";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR lev [...]
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCEPTION_HANDLER_CONF = "camel.source.endpoint.exceptionHandler";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCEPTION_HANDLER_DOC = "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.";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCEPTION_HANDLER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCHANGE_PATTERN_CONF = "camel.source.endpoint.exchangePattern";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCHANGE_PATTERN_DOC = "Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut]";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCHANGE_PATTERN_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_CONF = "camel.source.endpoint.basicPropertyBinding";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_DOC = "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_CONF = "camel.source.endpoint.synchronous";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_CONF = "camel.source.endpoint.maxMessages";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_DOC = "Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages.";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_DEFAULT = "1";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_CONF = "camel.source.endpoint.timeout";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_DOC = "An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown.";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_CONF = "camel.source.endpoint.timeToLive";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_DOC = "How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration. [...]
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_CONF = "camel.source.endpoint.visibilityTimeout";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_DOC = "The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe.";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_CONF = "camel.source.endpoint.accessKey";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_DOC = "Access key for the associated azure account name to be used for authentication with azure queue services";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_CONF = "camel.source.endpoint.credentials";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_DOC = "StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_CONF = "camel.component.azure-storage-queue.configuration";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_DOC = "The component configurations";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_CONF = "camel.component.azure-storage-queue.serviceClient";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_DOC = "Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and  [...]
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_CONF = "camel.component.azure-storage-queue.bridgeErrorHandler";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR le [...]
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.azure-storage-queue.basicPropertyBinding";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_CONF = "camel.component.azure-storage-queue.maxMessages";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_DOC = "Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages.";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_DEFAULT = "1";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_CONF = "camel.component.azure-storage-queue.timeout";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_DOC = "An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown.";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_CONF = "camel.component.azure-storage-queue.timeToLive";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_DOC = "How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration [...]
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_CONF = "camel.component.azure-storage-queue.visibilityTimeout";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_DOC = "The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe.";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_CONF = "camel.component.azure-storage-queue.accessKey";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_DOC = "Access key for the associated azure account name to be used for authentication with azure queue services";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_CONF = "camel.component.azure-storage-queue.credentials";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_DOC = "StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information";
+    public static final String CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_DEFAULT = null;
+
+    public CamelAzurestoragequeueSourceConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelAzurestoragequeueSourceConnectorConfig(
+            Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSourceConnectorConfig.conf());
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_ACCOUNT_NAME_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_PATH_QUEUE_NAME_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SERVICE_CLIENT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCEPTION_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCEPTION_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCEPTION_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCHANGE_PATTERN_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCHANGE_PATTERN_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_EXCHANGE_PATTERN_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_MAX_MESSAGES_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIMEOUT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_TIME_TO_LIVE_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_VISIBILITY_TIMEOUT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_ACCESS_KEY_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_ENDPOINT_CREDENTIALS_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CONFIGURATION_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_SERVICE_CLIENT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BRIDGE_ERROR_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_MAX_MESSAGES_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIMEOUT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_TIME_TO_LIVE_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_VISIBILITY_TIMEOUT_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_ACCESS_KEY_DOC);
+        conf.define(CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_AZURESTORAGEQUEUE_COMPONENT_CREDENTIALS_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSourceTask.java b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSourceTask.java
new file mode 100644
index 0000000..3a1b941
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/azurestoragequeue/CamelAzurestoragequeueSourceTask.java
@@ -0,0 +1,39 @@
+/*
+ * 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.kafkaconnector.azurestoragequeue;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSourceConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSourceTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelAzurestoragequeueSourceTask extends CamelSourceTask {
+
+    @Override
+    protected CamelSourceConnectorConfig getCamelSourceConnectorConfig(
+            Map<String, String> props) {
+        return new CamelAzurestoragequeueSourceConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSourceConnectorConfig.CAMEL_SOURCE_COMPONENT_CONF, "azure-storage-queue");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-azure-storage-queue-kafka-connector/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+
diff --git a/connectors/camel-azure-storage-queue-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-azure-storage-queue-kafka-connector/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/connectors/camel-azure-storage-queue-kafka-connector/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git a/connectors/camel-chunk-kafka-connector/src/main/docs/camel-chunk-kafka-sink-connector.adoc b/connectors/camel-chunk-kafka-connector/src/main/docs/camel-chunk-kafka-sink-connector.adoc
index 857aeae..f72d808 100644
--- a/connectors/camel-chunk-kafka-connector/src/main/docs/camel-chunk-kafka-sink-connector.adoc
+++ b/connectors/camel-chunk-kafka-connector/src/main/docs/camel-chunk-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-chunk-kafka-connector as sink make sure to use the following Ma
 ----
 
 
-The camel-chunk sink connector supports 12 options, which are listed below.
+The camel-chunk sink connector supports 14 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-chunk sink connector supports 12 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.encoding* | Define the encoding of the body | null | MEDIUM
 | *camel.sink.endpoint.extension* | Define the file extension of the template | null | MEDIUM
@@ -32,6 +33,7 @@ The camel-chunk sink connector supports 12 options, which are listed below.
 | *camel.sink.endpoint.themeSubfolder* | Define the themes subfolder to scan | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.chunk.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.chunk.lazyStartProducer* | 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 c [...]
 | *camel.component.chunk.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 |===
diff --git a/connectors/camel-chunk-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chunk/CamelChunkSinkConnectorConfig.java b/connectors/camel-chunk-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chunk/CamelChunkSinkConnectorConfig.java
index 5d9dd6d..40b74ca 100644
--- a/connectors/camel-chunk-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chunk/CamelChunkSinkConnectorConfig.java
+++ b/connectors/camel-chunk-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/chunk/CamelChunkSinkConnectorConfig.java
@@ -27,6 +27,9 @@ public class CamelChunkSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_CHUNK_PATH_RESOURCE_URI_CONF = "camel.sink.path.resourceUri";
     public static final String CAMEL_SINK_CHUNK_PATH_RESOURCE_URI_DOC = "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.";
     public static final String CAMEL_SINK_CHUNK_PATH_RESOURCE_URI_DEFAULT = null;
+    public static final String CAMEL_SINK_CHUNK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.sink.endpoint.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_CHUNK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_CHUNK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_CHUNK_ENDPOINT_CONTENT_CACHE_CONF = "camel.sink.endpoint.contentCache";
     public static final String CAMEL_SINK_CHUNK_ENDPOINT_CONTENT_CACHE_DOC = "Sets whether to use resource content cache or not";
     public static final Boolean CAMEL_SINK_CHUNK_ENDPOINT_CONTENT_CACHE_DEFAULT = false;
@@ -54,6 +57,9 @@ public class CamelChunkSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_CHUNK_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
     public static final String CAMEL_SINK_CHUNK_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
     public static final Boolean CAMEL_SINK_CHUNK_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_CHUNK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.component.chunk.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_CHUNK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_CHUNK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_CHUNK_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.chunk.lazyStartProducer";
     public static final String CAMEL_SINK_CHUNK_COMPONENT_LAZY_START_PRODUCER_DOC = "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 whe [...]
     public static final Boolean CAMEL_SINK_CHUNK_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -74,6 +80,7 @@ public class CamelChunkSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_CHUNK_PATH_RESOURCE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SINK_CHUNK_PATH_RESOURCE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_CHUNK_PATH_RESOURCE_URI_DOC);
+        conf.define(CAMEL_SINK_CHUNK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_CHUNK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_CHUNK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_CHUNK_ENDPOINT_CONTENT_CACHE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_CHUNK_ENDPOINT_CONTENT_CACHE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_CHUNK_ENDPOINT_CONTENT_CACHE_DOC);
         conf.define(CAMEL_SINK_CHUNK_ENDPOINT_ENCODING_CONF, ConfigDef.Type.STRING, CAMEL_SINK_CHUNK_ENDPOINT_ENCODING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_CHUNK_ENDPOINT_ENCODING_DOC);
         conf.define(CAMEL_SINK_CHUNK_ENDPOINT_EXTENSION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_CHUNK_ENDPOINT_EXTENSION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_CHUNK_ENDPOINT_EXTENSION_DOC);
@@ -83,6 +90,7 @@ public class CamelChunkSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_CHUNK_ENDPOINT_THEME_SUBFOLDER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_CHUNK_ENDPOINT_THEME_SUBFOLDER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_CHUNK_ENDPOINT_THEME_SUBFOLDER_DOC);
         conf.define(CAMEL_SINK_CHUNK_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_CHUNK_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_CHUNK_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_CHUNK_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_CHUNK_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_CHUNK_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_CHUNK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_CHUNK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_CHUNK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_CHUNK_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_CHUNK_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_CHUNK_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_CHUNK_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_CHUNK_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_CHUNK_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         return conf;
diff --git a/connectors/camel-djl-kafka-connector/pom.xml b/connectors/camel-djl-kafka-connector/pom.xml
new file mode 100644
index 0000000..cb1d5ec
--- /dev/null
+++ b/connectors/camel-djl-kafka-connector/pom.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.camel.kafkaconnector</groupId>
+    <artifactId>connectors</artifactId>
+    <version>0.3.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>camel-djl-kafka-connector</artifactId>
+  <name>Camel-Kafka-Connector :: djl</name>
+  <description>Camel Kafka Connector for djl</description>
+  <dependencies>
+    <!-- Kafka -->
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-transforms</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Camel -->
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-djl</artifactId>
+    </dependency>
+    <!--START OF GENERATED CODE-->
+    <dependency>
+      <groupId>org.apache.camel.kafkaconnector</groupId>
+      <artifactId>camel-kafka-connector</artifactId>
+    </dependency>
+    <!--END OF GENERATED CODE-->
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${version.maven.surefire.plugin}</version>
+        <configuration>
+          <failIfNoTests>false</failIfNoTests>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>${version.maven.jar}</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.5.1</version>
+        <inherited>true</inherited>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.5.3</version>
+        <configuration>
+          <descriptors>
+            <descriptor>src/main/assembly/package.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <!--START OF GENERATED CODE-->
+  <repositories>
+    <!-- camel-jira -->
+    <repository>
+      <id>atlassian-public</id>
+      <url>https://packages.atlassian.com/maven-external</url>
+      <name>Atlassian Public Repo</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <!-- camel-ipfs and camel-weka -->
+    <repository>
+      <id>jboss.thirdparty</id>
+      <name>JBoss Thirdparty Repository</name>
+      <url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <!--END OF GENERATED CODE-->
+</project>
diff --git a/connectors/camel-djl-kafka-connector/src/main/assembly/package.xml b/connectors/camel-djl-kafka-connector/src/main/assembly/package.xml
new file mode 100644
index 0000000..b52bbc5
--- /dev/null
+++ b/connectors/camel-djl-kafka-connector/src/main/assembly/package.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<assembly>
+  <!-- Assembles a packaged version targeting OS installation. -->
+  <id>package</id>
+  <formats>
+    <format>zip</format>
+    <format>tar.gz</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}/../..</directory>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>licenses/</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>${project.basedir}/config</directory>
+      <outputDirectory>etc/${project.artifactId}</outputDirectory>
+      <includes>
+        <include>*</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <useProjectArtifact>true</useProjectArtifact>
+      <useTransitiveFiltering>true</useTransitiveFiltering>
+      <excludes>
+        <exclude>org.apache.kafka:connect-api</exclude>
+      </excludes>
+    </dependencySet>
+  </dependencySets>
+</assembly>
diff --git a/connectors/camel-djl-kafka-connector/src/main/docs/camel-djl-kafka-sink-connector.adoc b/connectors/camel-djl-kafka-connector/src/main/docs/camel-djl-kafka-sink-connector.adoc
new file mode 100644
index 0000000..f5f47ef
--- /dev/null
+++ b/connectors/camel-djl-kafka-connector/src/main/docs/camel-djl-kafka-sink-connector.adoc
@@ -0,0 +1,37 @@
+// kafka-connector options: START
+[[camel-djl-kafka-connector-sink]]
+= camel-djl-kafka-connector sink configuration
+
+When using camel-djl-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-djl-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+
+The camel-djl sink connector supports 9 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.sink.path.application* | Application name | null | HIGH
+| *camel.sink.endpoint.artifactId* | Model Artifact | null | MEDIUM
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.model* | Model | null | MEDIUM
+| *camel.sink.endpoint.translator* | Translator | null | MEDIUM
+| *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.djl.lazyStartProducer* | 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 cre [...]
+| *camel.component.djl.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+|===
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-djl-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/djl/CamelDjlSinkConnector.java b/connectors/camel-djl-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/djl/CamelDjlSinkConnector.java
new file mode 100644
index 0000000..fc63e30
--- /dev/null
+++ b/connectors/camel-djl-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/djl/CamelDjlSinkConnector.java
@@ -0,0 +1,35 @@
+/*
+ * 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.kafkaconnector.djl;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelDjlSinkConnector extends CamelSinkConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelDjlSinkConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelDjlSinkTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-djl-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/djl/CamelDjlSinkConnectorConfig.java b/connectors/camel-djl-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/djl/CamelDjlSinkConnectorConfig.java
new file mode 100644
index 0000000..4ec9202
--- /dev/null
+++ b/connectors/camel-djl-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/djl/CamelDjlSinkConnectorConfig.java
@@ -0,0 +1,78 @@
+/*
+ * 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.kafkaconnector.djl;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelDjlSinkConnectorConfig extends CamelSinkConnectorConfig {
+
+    public static final String CAMEL_SINK_DJL_PATH_APPLICATION_CONF = "camel.sink.path.application";
+    public static final String CAMEL_SINK_DJL_PATH_APPLICATION_DOC = "Application name";
+    public static final String CAMEL_SINK_DJL_PATH_APPLICATION_DEFAULT = null;
+    public static final String CAMEL_SINK_DJL_ENDPOINT_ARTIFACT_ID_CONF = "camel.sink.endpoint.artifactId";
+    public static final String CAMEL_SINK_DJL_ENDPOINT_ARTIFACT_ID_DOC = "Model Artifact";
+    public static final String CAMEL_SINK_DJL_ENDPOINT_ARTIFACT_ID_DEFAULT = null;
+    public static final String CAMEL_SINK_DJL_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
+    public static final String CAMEL_SINK_DJL_ENDPOINT_LAZY_START_PRODUCER_DOC = "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 t [...]
+    public static final Boolean CAMEL_SINK_DJL_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_DJL_ENDPOINT_MODEL_CONF = "camel.sink.endpoint.model";
+    public static final String CAMEL_SINK_DJL_ENDPOINT_MODEL_DOC = "Model";
+    public static final String CAMEL_SINK_DJL_ENDPOINT_MODEL_DEFAULT = null;
+    public static final String CAMEL_SINK_DJL_ENDPOINT_TRANSLATOR_CONF = "camel.sink.endpoint.translator";
+    public static final String CAMEL_SINK_DJL_ENDPOINT_TRANSLATOR_DOC = "Translator";
+    public static final String CAMEL_SINK_DJL_ENDPOINT_TRANSLATOR_DEFAULT = null;
+    public static final String CAMEL_SINK_DJL_ENDPOINT_BASIC_PROPERTY_BINDING_CONF = "camel.sink.endpoint.basicPropertyBinding";
+    public static final String CAMEL_SINK_DJL_ENDPOINT_BASIC_PROPERTY_BINDING_DOC = "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SINK_DJL_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SINK_DJL_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
+    public static final String CAMEL_SINK_DJL_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
+    public static final Boolean CAMEL_SINK_DJL_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_DJL_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.djl.lazyStartProducer";
+    public static final String CAMEL_SINK_DJL_COMPONENT_LAZY_START_PRODUCER_DOC = "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  [...]
+    public static final Boolean CAMEL_SINK_DJL_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_DJL_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.djl.basicPropertyBinding";
+    public static final String CAMEL_SINK_DJL_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SINK_DJL_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+
+    public CamelDjlSinkConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelDjlSinkConnectorConfig(Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
+        conf.define(CAMEL_SINK_DJL_PATH_APPLICATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_DJL_PATH_APPLICATION_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_DJL_PATH_APPLICATION_DOC);
+        conf.define(CAMEL_SINK_DJL_ENDPOINT_ARTIFACT_ID_CONF, ConfigDef.Type.STRING, CAMEL_SINK_DJL_ENDPOINT_ARTIFACT_ID_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_DJL_ENDPOINT_ARTIFACT_ID_DOC);
+        conf.define(CAMEL_SINK_DJL_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_DJL_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_DJL_ENDPOINT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_DJL_ENDPOINT_MODEL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_DJL_ENDPOINT_MODEL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_DJL_ENDPOINT_MODEL_DOC);
+        conf.define(CAMEL_SINK_DJL_ENDPOINT_TRANSLATOR_CONF, ConfigDef.Type.STRING, CAMEL_SINK_DJL_ENDPOINT_TRANSLATOR_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_DJL_ENDPOINT_TRANSLATOR_DOC);
+        conf.define(CAMEL_SINK_DJL_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_DJL_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_DJL_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SINK_DJL_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_DJL_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_DJL_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_DJL_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_DJL_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_DJL_COMPONENT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_DJL_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_DJL_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_DJL_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-djl-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/djl/CamelDjlSinkTask.java b/connectors/camel-djl-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/djl/CamelDjlSinkTask.java
new file mode 100644
index 0000000..7b6418d
--- /dev/null
+++ b/connectors/camel-djl-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/djl/CamelDjlSinkTask.java
@@ -0,0 +1,39 @@
+/*
+ * 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.kafkaconnector.djl;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSinkTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelDjlSinkTask extends CamelSinkTask {
+
+    @Override
+    protected CamelSinkConnectorConfig getCamelSinkConnectorConfig(
+            Map<String, String> props) {
+        return new CamelDjlSinkConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSinkConnectorConfig.CAMEL_SINK_COMPONENT_CONF, "djl");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-djl-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-djl-kafka-connector/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/connectors/camel-djl-kafka-connector/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+
diff --git a/connectors/camel-djl-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-djl-kafka-connector/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/connectors/camel-djl-kafka-connector/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git a/connectors/camel-freemarker-kafka-connector/src/main/docs/camel-freemarker-kafka-sink-connector.adoc b/connectors/camel-freemarker-kafka-connector/src/main/docs/camel-freemarker-kafka-sink-connector.adoc
index 051afab..1a8ba59 100644
--- a/connectors/camel-freemarker-kafka-connector/src/main/docs/camel-freemarker-kafka-sink-connector.adoc
+++ b/connectors/camel-freemarker-kafka-connector/src/main/docs/camel-freemarker-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-freemarker-kafka-connector as sink make sure to use the followi
 ----
 
 
-The camel-freemarker sink connector supports 11 options, which are listed below.
+The camel-freemarker sink connector supports 13 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-freemarker sink connector supports 11 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.configuration* | Sets the Freemarker configuration to use | null | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.encoding* | Sets the encoding to be used for loading the template file. | null | MEDIUM
@@ -30,6 +31,7 @@ The camel-freemarker sink connector supports 11 options, which are listed below.
 | *camel.sink.endpoint.templateUpdateDelay* | Number of seconds the loaded template resource will remain in the cache. | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.freemarker.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.freemarker.lazyStartProducer* | 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 t [...]
 | *camel.component.freemarker.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.freemarker.configuration* | To use an existing freemarker.template.Configuration instance as the configuration. | null | MEDIUM
diff --git a/connectors/camel-freemarker-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/freemarker/CamelFreemarkerSinkConnectorConfig.java b/connectors/camel-freemarker-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/freemarker/CamelFreemarkerSinkConnectorConfig.java
index 32c440b..10c1964 100644
--- a/connectors/camel-freemarker-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/freemarker/CamelFreemarkerSinkConnectorConfig.java
+++ b/connectors/camel-freemarker-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/freemarker/CamelFreemarkerSinkConnectorConfig.java
@@ -29,6 +29,9 @@ public class CamelFreemarkerSinkConnectorConfig
     public static final String CAMEL_SINK_FREEMARKER_PATH_RESOURCE_URI_CONF = "camel.sink.path.resourceUri";
     public static final String CAMEL_SINK_FREEMARKER_PATH_RESOURCE_URI_DOC = "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.";
     public static final String CAMEL_SINK_FREEMARKER_PATH_RESOURCE_URI_DEFAULT = null;
+    public static final String CAMEL_SINK_FREEMARKER_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.sink.endpoint.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_FREEMARKER_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_FREEMARKER_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_FREEMARKER_ENDPOINT_CONFIGURATION_CONF = "camel.sink.endpoint.configuration";
     public static final String CAMEL_SINK_FREEMARKER_ENDPOINT_CONFIGURATION_DOC = "Sets the Freemarker configuration to use";
     public static final String CAMEL_SINK_FREEMARKER_ENDPOINT_CONFIGURATION_DEFAULT = null;
@@ -50,6 +53,9 @@ public class CamelFreemarkerSinkConnectorConfig
     public static final String CAMEL_SINK_FREEMARKER_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
     public static final String CAMEL_SINK_FREEMARKER_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
     public static final Boolean CAMEL_SINK_FREEMARKER_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_FREEMARKER_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.component.freemarker.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_FREEMARKER_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_FREEMARKER_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_FREEMARKER_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.freemarker.lazyStartProducer";
     public static final String CAMEL_SINK_FREEMARKER_COMPONENT_LAZY_START_PRODUCER_DOC = "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 tha [...]
     public static final Boolean CAMEL_SINK_FREEMARKER_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -73,6 +79,7 @@ public class CamelFreemarkerSinkConnectorConfig
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_FREEMARKER_PATH_RESOURCE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SINK_FREEMARKER_PATH_RESOURCE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_FREEMARKER_PATH_RESOURCE_URI_DOC);
+        conf.define(CAMEL_SINK_FREEMARKER_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_FREEMARKER_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_FREEMARKER_ENDPOINT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_FREEMARKER_ENDPOINT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_ENDPOINT_CONFIGURATION_DOC);
         conf.define(CAMEL_SINK_FREEMARKER_ENDPOINT_CONTENT_CACHE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_FREEMARKER_ENDPOINT_CONTENT_CACHE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_ENDPOINT_CONTENT_CACHE_DOC);
         conf.define(CAMEL_SINK_FREEMARKER_ENDPOINT_ENCODING_CONF, ConfigDef.Type.STRING, CAMEL_SINK_FREEMARKER_ENDPOINT_ENCODING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_ENDPOINT_ENCODING_DOC);
@@ -80,6 +87,7 @@ public class CamelFreemarkerSinkConnectorConfig
         conf.define(CAMEL_SINK_FREEMARKER_ENDPOINT_TEMPLATE_UPDATE_DELAY_CONF, ConfigDef.Type.INT, CAMEL_SINK_FREEMARKER_ENDPOINT_TEMPLATE_UPDATE_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_ENDPOINT_TEMPLATE_UPDATE_DELAY_DOC);
         conf.define(CAMEL_SINK_FREEMARKER_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_FREEMARKER_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_FREEMARKER_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_FREEMARKER_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_FREEMARKER_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_FREEMARKER_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_FREEMARKER_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_FREEMARKER_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_FREEMARKER_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_FREEMARKER_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_FREEMARKER_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_FREEMARKER_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_FREEMARKER_COMPONENT_CONFIGURATION_DOC);
diff --git a/connectors/camel-jms-kafka-connector/src/main/docs/camel-jms-kafka-source-connector.adoc b/connectors/camel-jms-kafka-connector/src/main/docs/camel-jms-kafka-source-connector.adoc
index 55aa4fa..8389cb7 100644
--- a/connectors/camel-jms-kafka-connector/src/main/docs/camel-jms-kafka-source-connector.adoc
+++ b/connectors/camel-jms-kafka-connector/src/main/docs/camel-jms-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-jms-kafka-connector as source make sure to use the following Ma
 ----
 
 
-The camel-jms source connector supports 142 options, which are listed below.
+The camel-jms source connector supports 141 options, which are listed below.
 
 
 
@@ -102,7 +102,6 @@ The camel-jms source connector supports 142 options, which are listed below.
 | *camel.component.jms.acknowledgementModeName* | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE One of: [SESSION_TRANSACTED] [CLIENT_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [DUPS_OK_ACKNOWLEDGE] | "AUTO_ACKNOWLEDGE" | MEDIUM
 | *camel.component.jms.asyncConsumer* | Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note i [...]
 | *camel.component.jms.autoStartup* | Specifies whether the consumer container should auto-startup. | true | MEDIUM
-| *camel.component.jms.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.jms.cacheLevel* | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. | null | MEDIUM
 | *camel.component.jms.cacheLevelName* | Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information. One of: [CACHE_AUTO] [CACHE_CONNECTION] [CACHE_CONSUMER] [CACHE_NONE] [CACHE_SESSION] | "CACHE_AUTO" | MEDIUM
 | *camel.component.jms.concurrentConsumers* | Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. | 1 | MEDIUM
diff --git a/connectors/camel-jms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jms/CamelJmsSourceConnectorConfig.java b/connectors/camel-jms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jms/CamelJmsSourceConnectorConfig.java
index 3d3b845..084b3b3 100644
--- a/connectors/camel-jms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jms/CamelJmsSourceConnectorConfig.java
+++ b/connectors/camel-jms-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jms/CamelJmsSourceConnectorConfig.java
@@ -264,9 +264,6 @@ public class CamelJmsSourceConnectorConfig extends CamelSourceConnectorConfig {
     public static final String CAMEL_SOURCE_JMS_COMPONENT_AUTO_STARTUP_CONF = "camel.component.jms.autoStartup";
     public static final String CAMEL_SOURCE_JMS_COMPONENT_AUTO_STARTUP_DOC = "Specifies whether the consumer container should auto-startup.";
     public static final Boolean CAMEL_SOURCE_JMS_COMPONENT_AUTO_STARTUP_DEFAULT = true;
-    public static final String CAMEL_SOURCE_JMS_COMPONENT_BRIDGE_ERROR_HANDLER_CONF = "camel.component.jms.bridgeErrorHandler";
-    public static final String CAMEL_SOURCE_JMS_COMPONENT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.";
-    public static final Boolean CAMEL_SOURCE_JMS_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
     public static final String CAMEL_SOURCE_JMS_COMPONENT_CACHE_LEVEL_CONF = "camel.component.jms.cacheLevel";
     public static final String CAMEL_SOURCE_JMS_COMPONENT_CACHE_LEVEL_DOC = "Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details.";
     public static final Integer CAMEL_SOURCE_JMS_COMPONENT_CACHE_LEVEL_DEFAULT = null;
@@ -543,7 +540,6 @@ public class CamelJmsSourceConnectorConfig extends CamelSourceConnectorConfig {
         conf.define(CAMEL_SOURCE_JMS_COMPONENT_ACKNOWLEDGEMENT_MODE_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_JMS_COMPONENT_ACKNOWLEDGEMENT_MODE_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_JMS_COMPONENT_ACKNOWLEDGEMENT_MODE_NAME_DOC);
         conf.define(CAMEL_SOURCE_JMS_COMPONENT_ASYNC_CONSUMER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_JMS_COMPONENT_ASYNC_CONSUMER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_JMS_COMPONENT_ASYNC_CONSUMER_DOC);
         conf.define(CAMEL_SOURCE_JMS_COMPONENT_AUTO_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_JMS_COMPONENT_AUTO_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_JMS_COMPONENT_AUTO_STARTUP_DOC);
-        conf.define(CAMEL_SOURCE_JMS_COMPONENT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_JMS_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_JMS_COMPONENT_BRIDGE_ERROR_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_JMS_COMPONENT_CACHE_LEVEL_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_JMS_COMPONENT_CACHE_LEVEL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_JMS_COMPONENT_CACHE_LEVEL_DOC);
         conf.define(CAMEL_SOURCE_JMS_COMPONENT_CACHE_LEVEL_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_JMS_COMPONENT_CACHE_LEVEL_NAME_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_JMS_COMPONENT_CACHE_LEVEL_NAME_DOC);
         conf.define(CAMEL_SOURCE_JMS_COMPONENT_CONCURRENT_CONSUMERS_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_JMS_COMPONENT_CONCURRENT_CONSUMERS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_JMS_COMPONENT_CONCURRENT_CONSUMERS_DOC);
diff --git a/connectors/camel-jolt-kafka-connector/src/main/docs/camel-jolt-kafka-sink-connector.adoc b/connectors/camel-jolt-kafka-connector/src/main/docs/camel-jolt-kafka-sink-connector.adoc
index c12ec96..a56ef35 100644
--- a/connectors/camel-jolt-kafka-connector/src/main/docs/camel-jolt-kafka-sink-connector.adoc
+++ b/connectors/camel-jolt-kafka-connector/src/main/docs/camel-jolt-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-jolt-kafka-connector as sink make sure to use the following Mav
 ----
 
 
-The camel-jolt sink connector supports 11 options, which are listed below.
+The camel-jolt sink connector supports 13 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-jolt sink connector supports 11 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.inputType* | Specifies if the input is hydrated JSON or a JSON String. One of: [Hydrated] [JsonString] | "Hydrated" | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
@@ -30,6 +31,7 @@ The camel-jolt sink connector supports 11 options, which are listed below.
 | *camel.sink.endpoint.transformDsl* | Specifies the Transform DSL of the endpoint resource. If none is specified Chainr will be used. One of: [Chainr] [Shiftr] [Defaultr] [Removr] [Sortr] | "Chainr" | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.jolt.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.jolt.lazyStartProducer* | 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 cr [...]
 | *camel.component.jolt.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.jolt.transform* | Explicitly sets the Transform to use. If not set a Transform specified by the transformDsl will be created | null | MEDIUM
diff --git a/connectors/camel-jolt-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jolt/CamelJoltSinkConnectorConfig.java b/connectors/camel-jolt-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jolt/CamelJoltSinkConnectorConfig.java
index 54b88ba..b4f38e3 100644
--- a/connectors/camel-jolt-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jolt/CamelJoltSinkConnectorConfig.java
+++ b/connectors/camel-jolt-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jolt/CamelJoltSinkConnectorConfig.java
@@ -27,6 +27,9 @@ public class CamelJoltSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_JOLT_PATH_RESOURCE_URI_CONF = "camel.sink.path.resourceUri";
     public static final String CAMEL_SINK_JOLT_PATH_RESOURCE_URI_DOC = "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.";
     public static final String CAMEL_SINK_JOLT_PATH_RESOURCE_URI_DEFAULT = null;
+    public static final String CAMEL_SINK_JOLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.sink.endpoint.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_JOLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_JOLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_JOLT_ENDPOINT_CONTENT_CACHE_CONF = "camel.sink.endpoint.contentCache";
     public static final String CAMEL_SINK_JOLT_ENDPOINT_CONTENT_CACHE_DOC = "Sets whether to use resource content cache or not";
     public static final Boolean CAMEL_SINK_JOLT_ENDPOINT_CONTENT_CACHE_DEFAULT = false;
@@ -48,6 +51,9 @@ public class CamelJoltSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_JOLT_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
     public static final String CAMEL_SINK_JOLT_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
     public static final Boolean CAMEL_SINK_JOLT_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_JOLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.component.jolt.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_JOLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_JOLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_JOLT_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.jolt.lazyStartProducer";
     public static final String CAMEL_SINK_JOLT_COMPONENT_LAZY_START_PRODUCER_DOC = "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 [...]
     public static final Boolean CAMEL_SINK_JOLT_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -71,6 +77,7 @@ public class CamelJoltSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_JOLT_PATH_RESOURCE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SINK_JOLT_PATH_RESOURCE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_JOLT_PATH_RESOURCE_URI_DOC);
+        conf.define(CAMEL_SINK_JOLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JOLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_JOLT_ENDPOINT_CONTENT_CACHE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JOLT_ENDPOINT_CONTENT_CACHE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_ENDPOINT_CONTENT_CACHE_DOC);
         conf.define(CAMEL_SINK_JOLT_ENDPOINT_INPUT_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_JOLT_ENDPOINT_INPUT_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_ENDPOINT_INPUT_TYPE_DOC);
         conf.define(CAMEL_SINK_JOLT_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JOLT_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_ENDPOINT_LAZY_START_PRODUCER_DOC);
@@ -78,6 +85,7 @@ public class CamelJoltSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_JOLT_ENDPOINT_TRANSFORM_DSL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_JOLT_ENDPOINT_TRANSFORM_DSL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_ENDPOINT_TRANSFORM_DSL_DOC);
         conf.define(CAMEL_SINK_JOLT_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JOLT_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_JOLT_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JOLT_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_JOLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JOLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_JOLT_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JOLT_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_JOLT_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JOLT_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_JOLT_COMPONENT_TRANSFORM_CONF, ConfigDef.Type.STRING, CAMEL_SINK_JOLT_COMPONENT_TRANSFORM_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JOLT_COMPONENT_TRANSFORM_DOC);
diff --git a/connectors/camel-jslt-kafka-connector/src/main/docs/camel-jslt-kafka-sink-connector.adoc b/connectors/camel-jslt-kafka-connector/src/main/docs/camel-jslt-kafka-sink-connector.adoc
index 4d84d28..0bc4f0b 100644
--- a/connectors/camel-jslt-kafka-connector/src/main/docs/camel-jslt-kafka-sink-connector.adoc
+++ b/connectors/camel-jslt-kafka-connector/src/main/docs/camel-jslt-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-jslt-kafka-connector as sink make sure to use the following Mav
 ----
 
 
-The camel-jslt sink connector supports 9 options, which are listed below.
+The camel-jslt sink connector supports 11 options, which are listed below.
 
 
 
@@ -23,11 +23,13 @@ The camel-jslt sink connector supports 9 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.prettyPrint* | If true, JSON in output message is pretty printed. | false | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.jslt.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.jslt.lazyStartProducer* | 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 cr [...]
 | *camel.component.jslt.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.jslt.functions* | JSLT can be extended by plugging in functions written in Java. | null | MEDIUM
diff --git a/connectors/camel-jslt-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jslt/CamelJsltSinkConnectorConfig.java b/connectors/camel-jslt-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jslt/CamelJsltSinkConnectorConfig.java
index d3faf42..b1c361f 100644
--- a/connectors/camel-jslt-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jslt/CamelJsltSinkConnectorConfig.java
+++ b/connectors/camel-jslt-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/jslt/CamelJsltSinkConnectorConfig.java
@@ -27,6 +27,9 @@ public class CamelJsltSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_JSLT_PATH_RESOURCE_URI_CONF = "camel.sink.path.resourceUri";
     public static final String CAMEL_SINK_JSLT_PATH_RESOURCE_URI_DOC = "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.";
     public static final String CAMEL_SINK_JSLT_PATH_RESOURCE_URI_DEFAULT = null;
+    public static final String CAMEL_SINK_JSLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.sink.endpoint.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_JSLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_JSLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_JSLT_ENDPOINT_CONTENT_CACHE_CONF = "camel.sink.endpoint.contentCache";
     public static final String CAMEL_SINK_JSLT_ENDPOINT_CONTENT_CACHE_DOC = "Sets whether to use resource content cache or not";
     public static final Boolean CAMEL_SINK_JSLT_ENDPOINT_CONTENT_CACHE_DEFAULT = false;
@@ -42,6 +45,9 @@ public class CamelJsltSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_JSLT_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
     public static final String CAMEL_SINK_JSLT_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
     public static final Boolean CAMEL_SINK_JSLT_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_JSLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.component.jslt.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_JSLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_JSLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_JSLT_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.jslt.lazyStartProducer";
     public static final String CAMEL_SINK_JSLT_COMPONENT_LAZY_START_PRODUCER_DOC = "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 [...]
     public static final Boolean CAMEL_SINK_JSLT_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -65,11 +71,13 @@ public class CamelJsltSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_JSLT_PATH_RESOURCE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SINK_JSLT_PATH_RESOURCE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_JSLT_PATH_RESOURCE_URI_DOC);
+        conf.define(CAMEL_SINK_JSLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JSLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JSLT_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_JSLT_ENDPOINT_CONTENT_CACHE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JSLT_ENDPOINT_CONTENT_CACHE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JSLT_ENDPOINT_CONTENT_CACHE_DOC);
         conf.define(CAMEL_SINK_JSLT_ENDPOINT_PRETTY_PRINT_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JSLT_ENDPOINT_PRETTY_PRINT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JSLT_ENDPOINT_PRETTY_PRINT_DOC);
         conf.define(CAMEL_SINK_JSLT_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JSLT_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JSLT_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_JSLT_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JSLT_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JSLT_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_JSLT_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JSLT_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JSLT_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_JSLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JSLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JSLT_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_JSLT_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JSLT_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JSLT_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_JSLT_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_JSLT_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JSLT_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_JSLT_COMPONENT_FUNCTIONS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_JSLT_COMPONENT_FUNCTIONS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_JSLT_COMPONENT_FUNCTIONS_DOC);
diff --git a/connectors/camel-kafka-kafka-connector/src/main/docs/camel-kafka-kafka-sink-connector.adoc b/connectors/camel-kafka-kafka-connector/src/main/docs/camel-kafka-kafka-sink-connector.adoc
index 5a0e257..fd6b796 100644
--- a/connectors/camel-kafka-kafka-connector/src/main/docs/camel-kafka-kafka-sink-connector.adoc
+++ b/connectors/camel-kafka-kafka-connector/src/main/docs/camel-kafka-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-kafka-kafka-connector as sink make sure to use the following Ma
 ----
 
 
-The camel-kafka sink connector supports 132 options, which are listed below.
+The camel-kafka sink connector supports 134 options, which are listed below.
 
 
 
@@ -28,6 +28,7 @@ The camel-kafka sink connector supports 132 options, which are listed below.
 | *camel.sink.endpoint.clientId* | The client id is a user-specified string sent in each request to help trace calls. It should logically identify the application making the request. | null | MEDIUM
 | *camel.sink.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.sink.endpoint.reconnectBackoffMaxMs* | The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms. | "1000" | MEDIUM
+| *camel.sink.endpoint.shutdownTimeout* | Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads. | 30000 | MEDIUM
 | *camel.sink.endpoint.bufferMemorySize* | The total bytes of memory the producer can use to buffer records waiting to be sent to the server. If records are sent faster than they can be delivered to the server the producer will either block or throw an exception based on the preference specified by block.on.buffer.full.This setting should correspond roughly to the total memory the producer will use, but is not a hard bound since not all memory the producer uses is used for buffering. Som [...]
 | *camel.sink.endpoint.compressionCodec* | This parameter allows you to specify the compression codec for all data generated by this producer. Valid values are none, gzip and snappy. One of: [none] [gzip] [snappy] [lz4] | "none" | MEDIUM
 | *camel.sink.endpoint.connectionMaxIdleMs* | Close idle connections after the number of milliseconds specified by this config. | "540000" | MEDIUM
@@ -75,14 +76,14 @@ The camel-kafka sink connector supports 132 options, which are listed below.
 | *camel.sink.endpoint.securityProtocol* | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | "PLAINTEXT" | MEDIUM
 | *camel.sink.endpoint.sslCipherSuites* | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. | null | MEDIUM
 | *camel.sink.endpoint.sslContextParameters* | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. | null | MEDIUM
-| *camel.sink.endpoint.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2,TLSv1.1,TLSv1" | MEDIUM
+| *camel.sink.endpoint.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2" | MEDIUM
 | *camel.sink.endpoint.sslEndpointAlgorithm* | The endpoint identification algorithm to validate server hostname using server certificate. | null | MEDIUM
 | *camel.sink.endpoint.sslKeymanagerAlgorithm* | The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine. | "SunX509" | MEDIUM
 | *camel.sink.endpoint.sslKeyPassword* | The password of the private key in the key store file. This is optional for client. | null | MEDIUM
 | *camel.sink.endpoint.sslKeystoreLocation* | The location of the key store file. This is optional for client and can be used for two-way authentication for client. | null | MEDIUM
 | *camel.sink.endpoint.sslKeystorePassword* | The store password for the key store file.This is optional for client and only needed if ssl.keystore.location is configured. | null | MEDIUM
 | *camel.sink.endpoint.sslKeystoreType* | The file format of the key store file. This is optional for client. Default value is JKS | "JKS" | MEDIUM
-| *camel.sink.endpoint.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLS" | MEDIUM
+| *camel.sink.endpoint.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLSv1.2" | MEDIUM
 | *camel.sink.endpoint.sslProvider* | The name of the security provider used for SSL connections. Default value is the default security provider of the JVM. | null | MEDIUM
 | *camel.sink.endpoint.sslTrustmanagerAlgorithm* | The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine. | "PKIX" | MEDIUM
 | *camel.sink.endpoint.sslTruststoreLocation* | The location of the trust store file. | null | MEDIUM
@@ -94,6 +95,7 @@ The camel-kafka sink connector supports 132 options, which are listed below.
 | *camel.component.kafka.configuration* | Allows to pre-configure the Kafka component with common options that the endpoints will reuse. | null | MEDIUM
 | *camel.component.kafka.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.component.kafka.reconnectBackoffMaxMs* | The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms. | "1000" | MEDIUM
+| *camel.component.kafka.shutdownTimeout* | Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads. | 30000 | MEDIUM
 | *camel.component.kafka.bufferMemorySize* | The total bytes of memory the producer can use to buffer records waiting to be sent to the server. If records are sent faster than they can be delivered to the server the producer will either block or throw an exception based on the preference specified by block.on.buffer.full.This setting should correspond roughly to the total memory the producer will use, but is not a hard bound since not all memory the producer uses is used for buffering. S [...]
 | *camel.component.kafka.compressionCodec* | This parameter allows you to specify the compression codec for all data generated by this producer. Valid values are none, gzip and snappy. One of: [none] [gzip] [snappy] [lz4] | "none" | MEDIUM
 | *camel.component.kafka.connectionMaxIdleMs* | Close idle connections after the number of milliseconds specified by this config. | "540000" | MEDIUM
@@ -140,14 +142,14 @@ The camel-kafka sink connector supports 132 options, which are listed below.
 | *camel.component.kafka.securityProtocol* | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | "PLAINTEXT" | MEDIUM
 | *camel.component.kafka.sslCipherSuites* | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. | null | MEDIUM
 | *camel.component.kafka.sslContextParameters* | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. | null | MEDIUM
-| *camel.component.kafka.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2,TLSv1.1,TLSv1" | MEDIUM
+| *camel.component.kafka.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2" | MEDIUM
 | *camel.component.kafka.sslEndpointAlgorithm* | The endpoint identification algorithm to validate server hostname using server certificate. | null | MEDIUM
 | *camel.component.kafka.sslKeymanagerAlgorithm* | The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine. | "SunX509" | MEDIUM
 | *camel.component.kafka.sslKeyPassword* | The password of the private key in the key store file. This is optional for client. | null | MEDIUM
 | *camel.component.kafka.sslKeystoreLocation* | The location of the key store file. This is optional for client and can be used for two-way authentication for client. | null | MEDIUM
 | *camel.component.kafka.sslKeystorePassword* | The store password for the key store file.This is optional for client and only needed if ssl.keystore.location is configured. | null | MEDIUM
 | *camel.component.kafka.sslKeystoreType* | The file format of the key store file. This is optional for client. Default value is JKS | "JKS" | MEDIUM
-| *camel.component.kafka.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLS" | MEDIUM
+| *camel.component.kafka.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLSv1.2" | MEDIUM
 | *camel.component.kafka.sslProvider* | The name of the security provider used for SSL connections. Default value is the default security provider of the JVM. | null | MEDIUM
 | *camel.component.kafka.sslTrustmanagerAlgorithm* | The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine. | "PKIX" | MEDIUM
 | *camel.component.kafka.sslTruststoreLocation* | The location of the trust store file. | null | MEDIUM
diff --git a/connectors/camel-kafka-kafka-connector/src/main/docs/camel-kafka-kafka-source-connector.adoc b/connectors/camel-kafka-kafka-connector/src/main/docs/camel-kafka-kafka-source-connector.adoc
index 8523602..dc2d5c4 100644
--- a/connectors/camel-kafka-kafka-connector/src/main/docs/camel-kafka-kafka-source-connector.adoc
+++ b/connectors/camel-kafka-kafka-connector/src/main/docs/camel-kafka-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-kafka-kafka-connector as source make sure to use the following
 ----
 
 
-The camel-kafka source connector supports 119 options, which are listed below.
+The camel-kafka source connector supports 121 options, which are listed below.
 
 
 
@@ -28,6 +28,7 @@ The camel-kafka source connector supports 119 options, which are listed below.
 | *camel.source.endpoint.clientId* | The client id is a user-specified string sent in each request to help trace calls. It should logically identify the application making the request. | null | MEDIUM
 | *camel.source.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.source.endpoint.reconnectBackoffMaxMs* | The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms. | "1000" | MEDIUM
+| *camel.source.endpoint.shutdownTimeout* | Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads. | 30000 | MEDIUM
 | *camel.source.endpoint.allowManualCommit* | Whether to allow doing manual commits via KafkaManualCommit. If this option is enabled then an instance of KafkaManualCommit is stored on the Exchange message header, which allows end users to access this API and perform manual offset commits via the Kafka consumer. | false | MEDIUM
 | *camel.source.endpoint.autoCommitEnable* | If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer. This committed offset will be used when the process fails as the position from which the new consumer will begin. | "true" | MEDIUM
 | *camel.source.endpoint.autoCommitIntervalMs* | The frequency in ms that the consumer offsets are committed to zookeeper. | "5000" | MEDIUM
@@ -74,11 +75,11 @@ The camel-kafka source connector supports 119 options, which are listed below.
 | *camel.source.endpoint.securityProtocol* | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | "PLAINTEXT" | MEDIUM
 | *camel.source.endpoint.sslCipherSuites* | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. | null | MEDIUM
 | *camel.source.endpoint.sslContextParameters* | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. | null | MEDIUM
-| *camel.source.endpoint.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2,TLSv1.1,TLSv1" | MEDIUM
+| *camel.source.endpoint.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2" | MEDIUM
 | *camel.source.endpoint.sslEndpointAlgorithm* | The endpoint identification algorithm to validate server hostname using server certificate. | null | MEDIUM
 | *camel.source.endpoint.sslKeymanagerAlgorithm* | The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine. | "SunX509" | MEDIUM
 | *camel.source.endpoint.sslKeystoreType* | The file format of the key store file. This is optional for client. Default value is JKS | "JKS" | MEDIUM
-| *camel.source.endpoint.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLS" | MEDIUM
+| *camel.source.endpoint.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLSv1.2" | MEDIUM
 | *camel.source.endpoint.sslProvider* | The name of the security provider used for SSL connections. Default value is the default security provider of the JVM. | null | MEDIUM
 | *camel.source.endpoint.sslTrustmanagerAlgorithm* | The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine. | "PKIX" | MEDIUM
 | *camel.source.endpoint.sslTruststoreType* | The file format of the trust store file. Default value is JKS. | "JKS" | MEDIUM
@@ -88,6 +89,7 @@ The camel-kafka source connector supports 119 options, which are listed below.
 | *camel.component.kafka.configuration* | Allows to pre-configure the Kafka component with common options that the endpoints will reuse. | null | MEDIUM
 | *camel.component.kafka.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.component.kafka.reconnectBackoffMaxMs* | The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms. | "1000" | MEDIUM
+| *camel.component.kafka.shutdownTimeout* | Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads. | 30000 | MEDIUM
 | *camel.component.kafka.allowManualCommit* | Whether to allow doing manual commits via KafkaManualCommit. If this option is enabled then an instance of KafkaManualCommit is stored on the Exchange message header, which allows end users to access this API and perform manual offset commits via the Kafka consumer. | false | MEDIUM
 | *camel.component.kafka.autoCommitEnable* | If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer. This committed offset will be used when the process fails as the position from which the new consumer will begin. | "true" | MEDIUM
 | *camel.component.kafka.autoCommitIntervalMs* | The frequency in ms that the consumer offsets are committed to zookeeper. | "5000" | MEDIUM
@@ -132,11 +134,11 @@ The camel-kafka source connector supports 119 options, which are listed below.
 | *camel.component.kafka.securityProtocol* | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | "PLAINTEXT" | MEDIUM
 | *camel.component.kafka.sslCipherSuites* | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. | null | MEDIUM
 | *camel.component.kafka.sslContextParameters* | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. | null | MEDIUM
-| *camel.component.kafka.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2,TLSv1.1,TLSv1" | MEDIUM
+| *camel.component.kafka.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2" | MEDIUM
 | *camel.component.kafka.sslEndpointAlgorithm* | The endpoint identification algorithm to validate server hostname using server certificate. | null | MEDIUM
 | *camel.component.kafka.sslKeymanagerAlgorithm* | The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine. | "SunX509" | MEDIUM
 | *camel.component.kafka.sslKeystoreType* | The file format of the key store file. This is optional for client. Default value is JKS | "JKS" | MEDIUM
-| *camel.component.kafka.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLS" | MEDIUM
+| *camel.component.kafka.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLSv1.2" | MEDIUM
 | *camel.component.kafka.sslProvider* | The name of the security provider used for SSL connections. Default value is the default security provider of the JVM. | null | MEDIUM
 | *camel.component.kafka.sslTrustmanagerAlgorithm* | The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine. | "PKIX" | MEDIUM
 | *camel.component.kafka.sslTruststoreType* | The file format of the trust store file. Default value is JKS. | "JKS" | MEDIUM
diff --git a/connectors/camel-kafka-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafka/CamelKafkaSinkConnectorConfig.java b/connectors/camel-kafka-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafka/CamelKafkaSinkConnectorConfig.java
index db7052b..304f073 100644
--- a/connectors/camel-kafka-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafka/CamelKafkaSinkConnectorConfig.java
+++ b/connectors/camel-kafka-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafka/CamelKafkaSinkConnectorConfig.java
@@ -42,6 +42,9 @@ public class CamelKafkaSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_CONF = "camel.sink.endpoint.reconnectBackoffMaxMs";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_DOC = "The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms.";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_DEFAULT = "1000";
+    public static final String CAMEL_SINK_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_CONF = "camel.sink.endpoint.shutdownTimeout";
+    public static final String CAMEL_SINK_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_DOC = "Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads.";
+    public static final Integer CAMEL_SINK_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_DEFAULT = 30000;
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_BUFFER_MEMORY_SIZE_CONF = "camel.sink.endpoint.bufferMemorySize";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_BUFFER_MEMORY_SIZE_DOC = "The total bytes of memory the producer can use to buffer records waiting to be sent to the server. If records are sent faster than they can be delivered to the server the producer will either block or throw an exception based on the preference specified by block.on.buffer.full.This setting should correspond roughly to the total memory the producer will use, but is not a hard bound since not all memory the  [...]
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_BUFFER_MEMORY_SIZE_DEFAULT = "33554432";
@@ -185,7 +188,7 @@ public class CamelKafkaSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_CONTEXT_PARAMETERS_DEFAULT = null;
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_ENABLED_PROTOCOLS_CONF = "camel.sink.endpoint.sslEnabledProtocols";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_ENABLED_PROTOCOLS_DOC = "The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default.";
-    public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_ENABLED_PROTOCOLS_DEFAULT = "TLSv1.2,TLSv1.1,TLSv1";
+    public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_ENABLED_PROTOCOLS_DEFAULT = "TLSv1.2";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_ENDPOINT_ALGORITHM_CONF = "camel.sink.endpoint.sslEndpointAlgorithm";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_ENDPOINT_ALGORITHM_DOC = "The endpoint identification algorithm to validate server hostname using server certificate.";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_ENDPOINT_ALGORITHM_DEFAULT = null;
@@ -206,7 +209,7 @@ public class CamelKafkaSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_KEYSTORE_TYPE_DEFAULT = "JKS";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_PROTOCOL_CONF = "camel.sink.endpoint.sslProtocol";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_PROTOCOL_DOC = "The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities.";
-    public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_PROTOCOL_DEFAULT = "TLS";
+    public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_PROTOCOL_DEFAULT = "TLSv1.2";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_PROVIDER_CONF = "camel.sink.endpoint.sslProvider";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_PROVIDER_DOC = "The name of the security provider used for SSL connections. Default value is the default security provider of the JVM.";
     public static final String CAMEL_SINK_KAFKA_ENDPOINT_SSL_PROVIDER_DEFAULT = null;
@@ -240,6 +243,9 @@ public class CamelKafkaSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_CONF = "camel.component.kafka.reconnectBackoffMaxMs";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_DOC = "The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms.";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_DEFAULT = "1000";
+    public static final String CAMEL_SINK_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_CONF = "camel.component.kafka.shutdownTimeout";
+    public static final String CAMEL_SINK_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_DOC = "Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads.";
+    public static final Integer CAMEL_SINK_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_DEFAULT = 30000;
     public static final String CAMEL_SINK_KAFKA_COMPONENT_BUFFER_MEMORY_SIZE_CONF = "camel.component.kafka.bufferMemorySize";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_BUFFER_MEMORY_SIZE_DOC = "The total bytes of memory the producer can use to buffer records waiting to be sent to the server. If records are sent faster than they can be delivered to the server the producer will either block or throw an exception based on the preference specified by block.on.buffer.full.This setting should correspond roughly to the total memory the producer will use, but is not a hard bound since not all memory the [...]
     public static final String CAMEL_SINK_KAFKA_COMPONENT_BUFFER_MEMORY_SIZE_DEFAULT = "33554432";
@@ -380,7 +386,7 @@ public class CamelKafkaSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_CONTEXT_PARAMETERS_DEFAULT = null;
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_ENABLED_PROTOCOLS_CONF = "camel.component.kafka.sslEnabledProtocols";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_ENABLED_PROTOCOLS_DOC = "The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default.";
-    public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_ENABLED_PROTOCOLS_DEFAULT = "TLSv1.2,TLSv1.1,TLSv1";
+    public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_ENABLED_PROTOCOLS_DEFAULT = "TLSv1.2";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_ENDPOINT_ALGORITHM_CONF = "camel.component.kafka.sslEndpointAlgorithm";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_ENDPOINT_ALGORITHM_DOC = "The endpoint identification algorithm to validate server hostname using server certificate.";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_ENDPOINT_ALGORITHM_DEFAULT = null;
@@ -401,7 +407,7 @@ public class CamelKafkaSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_KEYSTORE_TYPE_DEFAULT = "JKS";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_PROTOCOL_CONF = "camel.component.kafka.sslProtocol";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_PROTOCOL_DOC = "The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities.";
-    public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_PROTOCOL_DEFAULT = "TLS";
+    public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_PROTOCOL_DEFAULT = "TLSv1.2";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_PROVIDER_CONF = "camel.component.kafka.sslProvider";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_PROVIDER_DOC = "The name of the security provider used for SSL connections. Default value is the default security provider of the JVM.";
     public static final String CAMEL_SINK_KAFKA_COMPONENT_SSL_PROVIDER_DEFAULT = null;
@@ -439,6 +445,7 @@ public class CamelKafkaSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_KAFKA_ENDPOINT_CLIENT_ID_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_ENDPOINT_CLIENT_ID_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_ENDPOINT_CLIENT_ID_DOC);
         conf.define(CAMEL_SINK_KAFKA_ENDPOINT_HEADER_FILTER_STRATEGY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_ENDPOINT_HEADER_FILTER_STRATEGY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_ENDPOINT_HEADER_FILTER_STRATEGY_DOC);
         conf.define(CAMEL_SINK_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_DOC);
+        conf.define(CAMEL_SINK_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_CONF, ConfigDef.Type.INT, CAMEL_SINK_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_DOC);
         conf.define(CAMEL_SINK_KAFKA_ENDPOINT_BUFFER_MEMORY_SIZE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_ENDPOINT_BUFFER_MEMORY_SIZE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_ENDPOINT_BUFFER_MEMORY_SIZE_DOC);
         conf.define(CAMEL_SINK_KAFKA_ENDPOINT_COMPRESSION_CODEC_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_ENDPOINT_COMPRESSION_CODEC_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_ENDPOINT_COMPRESSION_CODEC_DOC);
         conf.define(CAMEL_SINK_KAFKA_ENDPOINT_CONNECTION_MAX_IDLE_MS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_ENDPOINT_CONNECTION_MAX_IDLE_MS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_ENDPOINT_CONNECTION_MAX_IDLE_MS_DOC);
@@ -505,6 +512,7 @@ public class CamelKafkaSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_KAFKA_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SINK_KAFKA_COMPONENT_HEADER_FILTER_STRATEGY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_COMPONENT_HEADER_FILTER_STRATEGY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_COMPONENT_HEADER_FILTER_STRATEGY_DOC);
         conf.define(CAMEL_SINK_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_DOC);
+        conf.define(CAMEL_SINK_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_CONF, ConfigDef.Type.INT, CAMEL_SINK_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_DOC);
         conf.define(CAMEL_SINK_KAFKA_COMPONENT_BUFFER_MEMORY_SIZE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_COMPONENT_BUFFER_MEMORY_SIZE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_COMPONENT_BUFFER_MEMORY_SIZE_DOC);
         conf.define(CAMEL_SINK_KAFKA_COMPONENT_COMPRESSION_CODEC_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_COMPONENT_COMPRESSION_CODEC_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_COMPONENT_COMPRESSION_CODEC_DOC);
         conf.define(CAMEL_SINK_KAFKA_COMPONENT_CONNECTION_MAX_IDLE_MS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_KAFKA_COMPONENT_CONNECTION_MAX_IDLE_MS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_KAFKA_COMPONENT_CONNECTION_MAX_IDLE_MS_DOC);
diff --git a/connectors/camel-kafka-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafka/CamelKafkaSourceConnectorConfig.java b/connectors/camel-kafka-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafka/CamelKafkaSourceConnectorConfig.java
index 36e390a..a952346 100644
--- a/connectors/camel-kafka-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafka/CamelKafkaSourceConnectorConfig.java
+++ b/connectors/camel-kafka-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/kafka/CamelKafkaSourceConnectorConfig.java
@@ -44,6 +44,9 @@ public class CamelKafkaSourceConnectorConfig
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_CONF = "camel.source.endpoint.reconnectBackoffMaxMs";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_DOC = "The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms.";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_DEFAULT = "1000";
+    public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_CONF = "camel.source.endpoint.shutdownTimeout";
+    public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_DOC = "Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads.";
+    public static final Integer CAMEL_SOURCE_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_DEFAULT = 30000;
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_ALLOW_MANUAL_COMMIT_CONF = "camel.source.endpoint.allowManualCommit";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_ALLOW_MANUAL_COMMIT_DOC = "Whether to allow doing manual commits via KafkaManualCommit. If this option is enabled then an instance of KafkaManualCommit is stored on the Exchange message header, which allows end users to access this API and perform manual offset commits via the Kafka consumer.";
     public static final Boolean CAMEL_SOURCE_KAFKA_ENDPOINT_ALLOW_MANUAL_COMMIT_DEFAULT = false;
@@ -184,7 +187,7 @@ public class CamelKafkaSourceConnectorConfig
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_CONTEXT_PARAMETERS_DEFAULT = null;
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_ENABLED_PROTOCOLS_CONF = "camel.source.endpoint.sslEnabledProtocols";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_ENABLED_PROTOCOLS_DOC = "The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default.";
-    public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_ENABLED_PROTOCOLS_DEFAULT = "TLSv1.2,TLSv1.1,TLSv1";
+    public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_ENABLED_PROTOCOLS_DEFAULT = "TLSv1.2";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_ENDPOINT_ALGORITHM_CONF = "camel.source.endpoint.sslEndpointAlgorithm";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_ENDPOINT_ALGORITHM_DOC = "The endpoint identification algorithm to validate server hostname using server certificate.";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_ENDPOINT_ALGORITHM_DEFAULT = null;
@@ -196,7 +199,7 @@ public class CamelKafkaSourceConnectorConfig
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_KEYSTORE_TYPE_DEFAULT = "JKS";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_PROTOCOL_CONF = "camel.source.endpoint.sslProtocol";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_PROTOCOL_DOC = "The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities.";
-    public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_PROTOCOL_DEFAULT = "TLS";
+    public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_PROTOCOL_DEFAULT = "TLSv1.2";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_PROVIDER_CONF = "camel.source.endpoint.sslProvider";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_PROVIDER_DOC = "The name of the security provider used for SSL connections. Default value is the default security provider of the JVM.";
     public static final String CAMEL_SOURCE_KAFKA_ENDPOINT_SSL_PROVIDER_DEFAULT = null;
@@ -224,6 +227,9 @@ public class CamelKafkaSourceConnectorConfig
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_CONF = "camel.component.kafka.reconnectBackoffMaxMs";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_DOC = "The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms.";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_DEFAULT = "1000";
+    public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_CONF = "camel.component.kafka.shutdownTimeout";
+    public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_DOC = "Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads.";
+    public static final Integer CAMEL_SOURCE_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_DEFAULT = 30000;
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_ALLOW_MANUAL_COMMIT_CONF = "camel.component.kafka.allowManualCommit";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_ALLOW_MANUAL_COMMIT_DOC = "Whether to allow doing manual commits via KafkaManualCommit. If this option is enabled then an instance of KafkaManualCommit is stored on the Exchange message header, which allows end users to access this API and perform manual offset commits via the Kafka consumer.";
     public static final Boolean CAMEL_SOURCE_KAFKA_COMPONENT_ALLOW_MANUAL_COMMIT_DEFAULT = false;
@@ -358,7 +364,7 @@ public class CamelKafkaSourceConnectorConfig
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_CONTEXT_PARAMETERS_DEFAULT = null;
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_ENABLED_PROTOCOLS_CONF = "camel.component.kafka.sslEnabledProtocols";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_ENABLED_PROTOCOLS_DOC = "The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default.";
-    public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_ENABLED_PROTOCOLS_DEFAULT = "TLSv1.2,TLSv1.1,TLSv1";
+    public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_ENABLED_PROTOCOLS_DEFAULT = "TLSv1.2";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_ENDPOINT_ALGORITHM_CONF = "camel.component.kafka.sslEndpointAlgorithm";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_ENDPOINT_ALGORITHM_DOC = "The endpoint identification algorithm to validate server hostname using server certificate.";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_ENDPOINT_ALGORITHM_DEFAULT = null;
@@ -370,7 +376,7 @@ public class CamelKafkaSourceConnectorConfig
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_KEYSTORE_TYPE_DEFAULT = "JKS";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_PROTOCOL_CONF = "camel.component.kafka.sslProtocol";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_PROTOCOL_DOC = "The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities.";
-    public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_PROTOCOL_DEFAULT = "TLS";
+    public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_PROTOCOL_DEFAULT = "TLSv1.2";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_PROVIDER_CONF = "camel.component.kafka.sslProvider";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_PROVIDER_DOC = "The name of the security provider used for SSL connections. Default value is the default security provider of the JVM.";
     public static final String CAMEL_SOURCE_KAFKA_COMPONENT_SSL_PROVIDER_DEFAULT = null;
@@ -402,6 +408,7 @@ public class CamelKafkaSourceConnectorConfig
         conf.define(CAMEL_SOURCE_KAFKA_ENDPOINT_CLIENT_ID_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_KAFKA_ENDPOINT_CLIENT_ID_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_ENDPOINT_CLIENT_ID_DOC);
         conf.define(CAMEL_SOURCE_KAFKA_ENDPOINT_HEADER_FILTER_STRATEGY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_KAFKA_ENDPOINT_HEADER_FILTER_STRATEGY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_ENDPOINT_HEADER_FILTER_STRATEGY_DOC);
         conf.define(CAMEL_SOURCE_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_ENDPOINT_RECONNECT_BACKOFF_MAX_MS_DOC);
+        conf.define(CAMEL_SOURCE_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_ENDPOINT_SHUTDOWN_TIMEOUT_DOC);
         conf.define(CAMEL_SOURCE_KAFKA_ENDPOINT_ALLOW_MANUAL_COMMIT_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_KAFKA_ENDPOINT_ALLOW_MANUAL_COMMIT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_ENDPOINT_ALLOW_MANUAL_COMMIT_DOC);
         conf.define(CAMEL_SOURCE_KAFKA_ENDPOINT_AUTO_COMMIT_ENABLE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_KAFKA_ENDPOINT_AUTO_COMMIT_ENABLE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_ENDPOINT_AUTO_COMMIT_ENABLE_DOC);
         conf.define(CAMEL_SOURCE_KAFKA_ENDPOINT_AUTO_COMMIT_INTERVAL_MS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_KAFKA_ENDPOINT_AUTO_COMMIT_INTERVAL_MS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_ENDPOINT_AUTO_COMMIT_INTERVAL_MS_DOC);
@@ -462,6 +469,7 @@ public class CamelKafkaSourceConnectorConfig
         conf.define(CAMEL_SOURCE_KAFKA_COMPONENT_CONFIGURATION_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_KAFKA_COMPONENT_CONFIGURATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_COMPONENT_CONFIGURATION_DOC);
         conf.define(CAMEL_SOURCE_KAFKA_COMPONENT_HEADER_FILTER_STRATEGY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_KAFKA_COMPONENT_HEADER_FILTER_STRATEGY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_COMPONENT_HEADER_FILTER_STRATEGY_DOC);
         conf.define(CAMEL_SOURCE_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_COMPONENT_RECONNECT_BACKOFF_MAX_MS_DOC);
+        conf.define(CAMEL_SOURCE_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_COMPONENT_SHUTDOWN_TIMEOUT_DOC);
         conf.define(CAMEL_SOURCE_KAFKA_COMPONENT_ALLOW_MANUAL_COMMIT_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_KAFKA_COMPONENT_ALLOW_MANUAL_COMMIT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_COMPONENT_ALLOW_MANUAL_COMMIT_DOC);
         conf.define(CAMEL_SOURCE_KAFKA_COMPONENT_AUTO_COMMIT_ENABLE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_KAFKA_COMPONENT_AUTO_COMMIT_ENABLE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_COMPONENT_AUTO_COMMIT_ENABLE_DOC);
         conf.define(CAMEL_SOURCE_KAFKA_COMPONENT_AUTO_COMMIT_INTERVAL_MS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_KAFKA_COMPONENT_AUTO_COMMIT_INTERVAL_MS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_KAFKA_COMPONENT_AUTO_COMMIT_INTERVAL_MS_DOC);
diff --git a/connectors/camel-mongodb-gridfs-kafka-connector/src/main/docs/camel-mongodb-gridfs-kafka-sink-connector.adoc b/connectors/camel-mongodb-gridfs-kafka-connector/src/main/docs/camel-mongodb-gridfs-kafka-sink-connector.adoc
index 2529e6f..2adb2b4 100644
--- a/connectors/camel-mongodb-gridfs-kafka-connector/src/main/docs/camel-mongodb-gridfs-kafka-sink-connector.adoc
+++ b/connectors/camel-mongodb-gridfs-kafka-connector/src/main/docs/camel-mongodb-gridfs-kafka-sink-connector.adoc
@@ -22,13 +22,13 @@ The camel-mongodb-gridfs sink connector supports 11 options, which are listed be
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Priority
-| *camel.sink.path.connectionBean* | Name of com.mongodb.MongoClient to use. | null | HIGH
+| *camel.sink.path.connectionBean* | Name of com.mongodb.client.MongoClient to use. | null | HIGH
 | *camel.sink.endpoint.bucket* | Sets the name of the GridFS bucket within the database. Default is fs. | "fs" | MEDIUM
 | *camel.sink.endpoint.database* | Sets the name of the MongoDB database to target | null | HIGH
 | *camel.sink.endpoint.readPreference* | Sets a MongoDB ReadPreference on the Mongo connection. Read preferences set directly on the connection will be overridden by this setting. The com.mongodb.ReadPreference#valueOf(String) utility method is used to resolve the passed readPreference value. Some examples for the possible values are nearest, primary or secondary etc. | null | MEDIUM
-| *camel.sink.endpoint.writeConcern* | Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] [SAFE] | null | MEDIUM
+| *camel.sink.endpoint.writeConcern* | Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
-| *camel.sink.endpoint.operation* | Sets the operation this endpoint will execute against GridRS. | null | MEDIUM
+| *camel.sink.endpoint.operation* | Sets the operation this endpoint will execute against GridFs. | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
 | *camel.component.mongodb-gridfs.lazyStartProducer* | 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 process [...]
diff --git a/connectors/camel-mongodb-gridfs-kafka-connector/src/main/docs/camel-mongodb-gridfs-kafka-source-connector.adoc b/connectors/camel-mongodb-gridfs-kafka-connector/src/main/docs/camel-mongodb-gridfs-kafka-source-connector.adoc
index 5dcc2d9..69a57fd 100644
--- a/connectors/camel-mongodb-gridfs-kafka-connector/src/main/docs/camel-mongodb-gridfs-kafka-source-connector.adoc
+++ b/connectors/camel-mongodb-gridfs-kafka-connector/src/main/docs/camel-mongodb-gridfs-kafka-source-connector.adoc
@@ -22,11 +22,11 @@ The camel-mongodb-gridfs source connector supports 19 options, which are listed
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Priority
-| *camel.source.path.connectionBean* | Name of com.mongodb.MongoClient to use. | null | HIGH
+| *camel.source.path.connectionBean* | Name of com.mongodb.client.MongoClient to use. | null | HIGH
 | *camel.source.endpoint.bucket* | Sets the name of the GridFS bucket within the database. Default is fs. | "fs" | MEDIUM
 | *camel.source.endpoint.database* | Sets the name of the MongoDB database to target | null | HIGH
 | *camel.source.endpoint.readPreference* | Sets a MongoDB ReadPreference on the Mongo connection. Read preferences set directly on the connection will be overridden by this setting. The com.mongodb.ReadPreference#valueOf(String) utility method is used to resolve the passed readPreference value. Some examples for the possible values are nearest, primary or secondary etc. | null | MEDIUM
-| *camel.source.endpoint.writeConcern* | Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] [SAFE] | null | MEDIUM
+| *camel.source.endpoint.writeConcern* | Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] | null | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.source.endpoint.delay* | Sets the delay between polls within the Consumer. Default is 500ms | 500L | MEDIUM
 | *camel.source.endpoint.fileAttributeName* | If the QueryType uses a FileAttribute, this sets the name of the attribute that is used. Default is camel-processed. | "camel-processed" | MEDIUM
diff --git a/connectors/camel-mongodb-gridfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbgridfs/CamelMongodbgridfsSinkConnectorConfig.java b/connectors/camel-mongodb-gridfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbgridfs/CamelMongodbgridfsSinkConnectorConfig.java
index 072a8a8..add6fd7 100644
--- a/connectors/camel-mongodb-gridfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbgridfs/CamelMongodbgridfsSinkConnectorConfig.java
+++ b/connectors/camel-mongodb-gridfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbgridfs/CamelMongodbgridfsSinkConnectorConfig.java
@@ -27,7 +27,7 @@ public class CamelMongodbgridfsSinkConnectorConfig
             CamelSinkConnectorConfig {
 
     public static final String CAMEL_SINK_MONGODBGRIDFS_PATH_CONNECTION_BEAN_CONF = "camel.sink.path.connectionBean";
-    public static final String CAMEL_SINK_MONGODBGRIDFS_PATH_CONNECTION_BEAN_DOC = "Name of com.mongodb.MongoClient to use.";
+    public static final String CAMEL_SINK_MONGODBGRIDFS_PATH_CONNECTION_BEAN_DOC = "Name of com.mongodb.client.MongoClient to use.";
     public static final String CAMEL_SINK_MONGODBGRIDFS_PATH_CONNECTION_BEAN_DEFAULT = null;
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_BUCKET_CONF = "camel.sink.endpoint.bucket";
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_BUCKET_DOC = "Sets the name of the GridFS bucket within the database. Default is fs.";
@@ -39,13 +39,13 @@ public class CamelMongodbgridfsSinkConnectorConfig
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_READ_PREFERENCE_DOC = "Sets a MongoDB ReadPreference on the Mongo connection. Read preferences set directly on the connection will be overridden by this setting. The com.mongodb.ReadPreference#valueOf(String) utility method is used to resolve the passed readPreference value. Some examples for the possible values are nearest, primary or secondary etc.";
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_READ_PREFERENCE_DEFAULT = null;
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_WRITE_CONCERN_CONF = "camel.sink.endpoint.writeConcern";
-    public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_WRITE_CONCERN_DOC = "Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] [SAFE]";
+    public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_WRITE_CONCERN_DOC = "Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY]";
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_WRITE_CONCERN_DEFAULT = null;
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_LAZY_START_PRODUCER_DOC = "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 t [...]
     public static final Boolean CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_OPERATION_CONF = "camel.sink.endpoint.operation";
-    public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_OPERATION_DOC = "Sets the operation this endpoint will execute against GridRS.";
+    public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_OPERATION_DOC = "Sets the operation this endpoint will execute against GridFs.";
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_OPERATION_DEFAULT = null;
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_BASIC_PROPERTY_BINDING_CONF = "camel.sink.endpoint.basicPropertyBinding";
     public static final String CAMEL_SINK_MONGODBGRIDFS_ENDPOINT_BASIC_PROPERTY_BINDING_DOC = "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
diff --git a/connectors/camel-mongodb-gridfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbgridfs/CamelMongodbgridfsSourceConnectorConfig.java b/connectors/camel-mongodb-gridfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbgridfs/CamelMongodbgridfsSourceConnectorConfig.java
index 76baa17..717e264 100644
--- a/connectors/camel-mongodb-gridfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbgridfs/CamelMongodbgridfsSourceConnectorConfig.java
+++ b/connectors/camel-mongodb-gridfs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mongodbgridfs/CamelMongodbgridfsSourceConnectorConfig.java
@@ -27,7 +27,7 @@ public class CamelMongodbgridfsSourceConnectorConfig
             CamelSourceConnectorConfig {
 
     public static final String CAMEL_SOURCE_MONGODBGRIDFS_PATH_CONNECTION_BEAN_CONF = "camel.source.path.connectionBean";
-    public static final String CAMEL_SOURCE_MONGODBGRIDFS_PATH_CONNECTION_BEAN_DOC = "Name of com.mongodb.MongoClient to use.";
+    public static final String CAMEL_SOURCE_MONGODBGRIDFS_PATH_CONNECTION_BEAN_DOC = "Name of com.mongodb.client.MongoClient to use.";
     public static final String CAMEL_SOURCE_MONGODBGRIDFS_PATH_CONNECTION_BEAN_DEFAULT = null;
     public static final String CAMEL_SOURCE_MONGODBGRIDFS_ENDPOINT_BUCKET_CONF = "camel.source.endpoint.bucket";
     public static final String CAMEL_SOURCE_MONGODBGRIDFS_ENDPOINT_BUCKET_DOC = "Sets the name of the GridFS bucket within the database. Default is fs.";
@@ -39,7 +39,7 @@ public class CamelMongodbgridfsSourceConnectorConfig
     public static final String CAMEL_SOURCE_MONGODBGRIDFS_ENDPOINT_READ_PREFERENCE_DOC = "Sets a MongoDB ReadPreference on the Mongo connection. Read preferences set directly on the connection will be overridden by this setting. The com.mongodb.ReadPreference#valueOf(String) utility method is used to resolve the passed readPreference value. Some examples for the possible values are nearest, primary or secondary etc.";
     public static final String CAMEL_SOURCE_MONGODBGRIDFS_ENDPOINT_READ_PREFERENCE_DEFAULT = null;
     public static final String CAMEL_SOURCE_MONGODBGRIDFS_ENDPOINT_WRITE_CONCERN_CONF = "camel.source.endpoint.writeConcern";
-    public static final String CAMEL_SOURCE_MONGODBGRIDFS_ENDPOINT_WRITE_CONCERN_DOC = "Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] [SAFE]";
+    public static final String CAMEL_SOURCE_MONGODBGRIDFS_ENDPOINT_WRITE_CONCERN_DOC = "Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY]";
     public static final String CAMEL_SOURCE_MONGODBGRIDFS_ENDPOINT_WRITE_CONCERN_DEFAULT = null;
     public static final String CAMEL_SOURCE_MONGODBGRIDFS_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF = "camel.source.endpoint.bridgeErrorHandler";
     public static final String CAMEL_SOURCE_MONGODBGRIDFS_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC = "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level a [...]
diff --git a/connectors/camel-mustache-kafka-connector/src/main/docs/camel-mustache-kafka-sink-connector.adoc b/connectors/camel-mustache-kafka-connector/src/main/docs/camel-mustache-kafka-sink-connector.adoc
index d98f966..b254e6c 100644
--- a/connectors/camel-mustache-kafka-connector/src/main/docs/camel-mustache-kafka-sink-connector.adoc
+++ b/connectors/camel-mustache-kafka-connector/src/main/docs/camel-mustache-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-mustache-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-mustache sink connector supports 11 options, which are listed below.
+The camel-mustache sink connector supports 13 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-mustache sink connector supports 11 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.encoding* | Character encoding of the resource content. | null | MEDIUM
 | *camel.sink.endpoint.endDelimiter* | Characters used to mark template code end. | "}}" | MEDIUM
@@ -30,6 +31,7 @@ The camel-mustache sink connector supports 11 options, which are listed below.
 | *camel.sink.endpoint.startDelimiter* | Characters used to mark template code beginning. | "{{" | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.mustache.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.mustache.lazyStartProducer* | 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 the [...]
 | *camel.component.mustache.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.mustache.mustacheFactory* | To use a custom MustacheFactory | null | MEDIUM
diff --git a/connectors/camel-mustache-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mustache/CamelMustacheSinkConnectorConfig.java b/connectors/camel-mustache-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mustache/CamelMustacheSinkConnectorConfig.java
index bb8a747..c43287a 100644
--- a/connectors/camel-mustache-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mustache/CamelMustacheSinkConnectorConfig.java
+++ b/connectors/camel-mustache-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mustache/CamelMustacheSinkConnectorConfig.java
@@ -29,6 +29,9 @@ public class CamelMustacheSinkConnectorConfig
     public static final String CAMEL_SINK_MUSTACHE_PATH_RESOURCE_URI_CONF = "camel.sink.path.resourceUri";
     public static final String CAMEL_SINK_MUSTACHE_PATH_RESOURCE_URI_DOC = "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.";
     public static final String CAMEL_SINK_MUSTACHE_PATH_RESOURCE_URI_DEFAULT = null;
+    public static final String CAMEL_SINK_MUSTACHE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.sink.endpoint.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_MUSTACHE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_MUSTACHE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_MUSTACHE_ENDPOINT_CONTENT_CACHE_CONF = "camel.sink.endpoint.contentCache";
     public static final String CAMEL_SINK_MUSTACHE_ENDPOINT_CONTENT_CACHE_DOC = "Sets whether to use resource content cache or not";
     public static final Boolean CAMEL_SINK_MUSTACHE_ENDPOINT_CONTENT_CACHE_DEFAULT = false;
@@ -50,6 +53,9 @@ public class CamelMustacheSinkConnectorConfig
     public static final String CAMEL_SINK_MUSTACHE_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
     public static final String CAMEL_SINK_MUSTACHE_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
     public static final Boolean CAMEL_SINK_MUSTACHE_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_MUSTACHE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.component.mustache.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_MUSTACHE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_MUSTACHE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_MUSTACHE_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.mustache.lazyStartProducer";
     public static final String CAMEL_SINK_MUSTACHE_COMPONENT_LAZY_START_PRODUCER_DOC = "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  [...]
     public static final Boolean CAMEL_SINK_MUSTACHE_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -73,6 +79,7 @@ public class CamelMustacheSinkConnectorConfig
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_MUSTACHE_PATH_RESOURCE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SINK_MUSTACHE_PATH_RESOURCE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_MUSTACHE_PATH_RESOURCE_URI_DOC);
+        conf.define(CAMEL_SINK_MUSTACHE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MUSTACHE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_MUSTACHE_ENDPOINT_CONTENT_CACHE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MUSTACHE_ENDPOINT_CONTENT_CACHE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_ENDPOINT_CONTENT_CACHE_DOC);
         conf.define(CAMEL_SINK_MUSTACHE_ENDPOINT_ENCODING_CONF, ConfigDef.Type.STRING, CAMEL_SINK_MUSTACHE_ENDPOINT_ENCODING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_ENDPOINT_ENCODING_DOC);
         conf.define(CAMEL_SINK_MUSTACHE_ENDPOINT_END_DELIMITER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_MUSTACHE_ENDPOINT_END_DELIMITER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_ENDPOINT_END_DELIMITER_DOC);
@@ -80,6 +87,7 @@ public class CamelMustacheSinkConnectorConfig
         conf.define(CAMEL_SINK_MUSTACHE_ENDPOINT_START_DELIMITER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_MUSTACHE_ENDPOINT_START_DELIMITER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_ENDPOINT_START_DELIMITER_DOC);
         conf.define(CAMEL_SINK_MUSTACHE_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MUSTACHE_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_MUSTACHE_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MUSTACHE_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_MUSTACHE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MUSTACHE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_MUSTACHE_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MUSTACHE_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_MUSTACHE_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MUSTACHE_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_MUSTACHE_COMPONENT_MUSTACHE_FACTORY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_MUSTACHE_COMPONENT_MUSTACHE_FACTORY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MUSTACHE_COMPONENT_MUSTACHE_FACTORY_DOC);
diff --git a/connectors/camel-mvel-kafka-connector/src/main/docs/camel-mvel-kafka-sink-connector.adoc b/connectors/camel-mvel-kafka-connector/src/main/docs/camel-mvel-kafka-sink-connector.adoc
index a6967b8..e1f7545 100644
--- a/connectors/camel-mvel-kafka-connector/src/main/docs/camel-mvel-kafka-sink-connector.adoc
+++ b/connectors/camel-mvel-kafka-connector/src/main/docs/camel-mvel-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-mvel-kafka-connector as sink make sure to use the following Mav
 ----
 
 
-The camel-mvel sink connector supports 8 options, which are listed below.
+The camel-mvel sink connector supports 10 options, which are listed below.
 
 
 
@@ -23,11 +23,13 @@ The camel-mvel sink connector supports 8 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.encoding* | Character encoding of the resource content. | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.mvel.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.mvel.lazyStartProducer* | 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 cr [...]
 | *camel.component.mvel.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 |===
diff --git a/connectors/camel-mvel-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mvel/CamelMvelSinkConnectorConfig.java b/connectors/camel-mvel-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mvel/CamelMvelSinkConnectorConfig.java
index 6321edb..73824f1 100644
--- a/connectors/camel-mvel-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mvel/CamelMvelSinkConnectorConfig.java
+++ b/connectors/camel-mvel-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/mvel/CamelMvelSinkConnectorConfig.java
@@ -27,6 +27,9 @@ public class CamelMvelSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_MVEL_PATH_RESOURCE_URI_CONF = "camel.sink.path.resourceUri";
     public static final String CAMEL_SINK_MVEL_PATH_RESOURCE_URI_DOC = "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.";
     public static final String CAMEL_SINK_MVEL_PATH_RESOURCE_URI_DEFAULT = null;
+    public static final String CAMEL_SINK_MVEL_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.sink.endpoint.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_MVEL_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_MVEL_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_MVEL_ENDPOINT_CONTENT_CACHE_CONF = "camel.sink.endpoint.contentCache";
     public static final String CAMEL_SINK_MVEL_ENDPOINT_CONTENT_CACHE_DOC = "Sets whether to use resource content cache or not";
     public static final Boolean CAMEL_SINK_MVEL_ENDPOINT_CONTENT_CACHE_DEFAULT = false;
@@ -42,6 +45,9 @@ public class CamelMvelSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_MVEL_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
     public static final String CAMEL_SINK_MVEL_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
     public static final Boolean CAMEL_SINK_MVEL_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_MVEL_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.component.mvel.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_MVEL_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_MVEL_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_MVEL_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.mvel.lazyStartProducer";
     public static final String CAMEL_SINK_MVEL_COMPONENT_LAZY_START_PRODUCER_DOC = "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 [...]
     public static final Boolean CAMEL_SINK_MVEL_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -62,11 +68,13 @@ public class CamelMvelSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_MVEL_PATH_RESOURCE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SINK_MVEL_PATH_RESOURCE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_MVEL_PATH_RESOURCE_URI_DOC);
+        conf.define(CAMEL_SINK_MVEL_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MVEL_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MVEL_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_MVEL_ENDPOINT_CONTENT_CACHE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MVEL_ENDPOINT_CONTENT_CACHE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MVEL_ENDPOINT_CONTENT_CACHE_DOC);
         conf.define(CAMEL_SINK_MVEL_ENDPOINT_ENCODING_CONF, ConfigDef.Type.STRING, CAMEL_SINK_MVEL_ENDPOINT_ENCODING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MVEL_ENDPOINT_ENCODING_DOC);
         conf.define(CAMEL_SINK_MVEL_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MVEL_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MVEL_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_MVEL_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MVEL_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MVEL_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_MVEL_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MVEL_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MVEL_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_MVEL_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MVEL_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MVEL_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_MVEL_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MVEL_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MVEL_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_MVEL_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_MVEL_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_MVEL_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         return conf;
diff --git a/connectors/camel-nats-kafka-connector/src/main/docs/camel-nats-kafka-sink-connector.adoc b/connectors/camel-nats-kafka-connector/src/main/docs/camel-nats-kafka-sink-connector.adoc
index 5ceab24..9653f1c 100644
--- a/connectors/camel-nats-kafka-connector/src/main/docs/camel-nats-kafka-sink-connector.adoc
+++ b/connectors/camel-nats-kafka-connector/src/main/docs/camel-nats-kafka-sink-connector.adoc
@@ -24,7 +24,7 @@ The camel-nats sink connector supports 27 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.sink.path.topic* | The name of topic we want to use | null | HIGH
 | *camel.sink.endpoint.connectionTimeout* | Timeout for connection attempts. (in milliseconds) | 2000 | MEDIUM
-| *camel.sink.endpoint.flushConnection* | Define if we want to flush connection when stopping or not | false | MEDIUM
+| *camel.sink.endpoint.flushConnection* | Define if we want to flush connection when stopping or not | true | MEDIUM
 | *camel.sink.endpoint.flushTimeout* | Set the flush timeout (in milliseconds) | 1000 | MEDIUM
 | *camel.sink.endpoint.maxPingsOut* | maximum number of pings have not received a response allowed by the client | 2 | MEDIUM
 | *camel.sink.endpoint.maxReconnectAttempts* | Max reconnection attempts | 60 | MEDIUM
diff --git a/connectors/camel-nats-kafka-connector/src/main/docs/camel-nats-kafka-source-connector.adoc b/connectors/camel-nats-kafka-connector/src/main/docs/camel-nats-kafka-source-connector.adoc
index e69c88b..1fb6268 100644
--- a/connectors/camel-nats-kafka-connector/src/main/docs/camel-nats-kafka-source-connector.adoc
+++ b/connectors/camel-nats-kafka-connector/src/main/docs/camel-nats-kafka-source-connector.adoc
@@ -24,7 +24,7 @@ The camel-nats source connector supports 32 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.source.path.topic* | The name of topic we want to use | null | HIGH
 | *camel.source.endpoint.connectionTimeout* | Timeout for connection attempts. (in milliseconds) | 2000 | MEDIUM
-| *camel.source.endpoint.flushConnection* | Define if we want to flush connection when stopping or not | false | MEDIUM
+| *camel.source.endpoint.flushConnection* | Define if we want to flush connection when stopping or not | true | MEDIUM
 | *camel.source.endpoint.flushTimeout* | Set the flush timeout (in milliseconds) | 1000 | MEDIUM
 | *camel.source.endpoint.maxPingsOut* | maximum number of pings have not received a response allowed by the client | 2 | MEDIUM
 | *camel.source.endpoint.maxReconnectAttempts* | Max reconnection attempts | 60 | MEDIUM
diff --git a/connectors/camel-nats-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nats/CamelNatsSinkConnectorConfig.java b/connectors/camel-nats-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nats/CamelNatsSinkConnectorConfig.java
index 00fd66a..374f844 100644
--- a/connectors/camel-nats-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nats/CamelNatsSinkConnectorConfig.java
+++ b/connectors/camel-nats-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nats/CamelNatsSinkConnectorConfig.java
@@ -32,7 +32,7 @@ public class CamelNatsSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final Integer CAMEL_SINK_NATS_ENDPOINT_CONNECTION_TIMEOUT_DEFAULT = 2000;
     public static final String CAMEL_SINK_NATS_ENDPOINT_FLUSH_CONNECTION_CONF = "camel.sink.endpoint.flushConnection";
     public static final String CAMEL_SINK_NATS_ENDPOINT_FLUSH_CONNECTION_DOC = "Define if we want to flush connection when stopping or not";
-    public static final Boolean CAMEL_SINK_NATS_ENDPOINT_FLUSH_CONNECTION_DEFAULT = false;
+    public static final Boolean CAMEL_SINK_NATS_ENDPOINT_FLUSH_CONNECTION_DEFAULT = true;
     public static final String CAMEL_SINK_NATS_ENDPOINT_FLUSH_TIMEOUT_CONF = "camel.sink.endpoint.flushTimeout";
     public static final String CAMEL_SINK_NATS_ENDPOINT_FLUSH_TIMEOUT_DOC = "Set the flush timeout (in milliseconds)";
     public static final Integer CAMEL_SINK_NATS_ENDPOINT_FLUSH_TIMEOUT_DEFAULT = 1000;
diff --git a/connectors/camel-nats-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nats/CamelNatsSourceConnectorConfig.java b/connectors/camel-nats-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nats/CamelNatsSourceConnectorConfig.java
index 32e5b9a..ec2828b 100644
--- a/connectors/camel-nats-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nats/CamelNatsSourceConnectorConfig.java
+++ b/connectors/camel-nats-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/nats/CamelNatsSourceConnectorConfig.java
@@ -34,7 +34,7 @@ public class CamelNatsSourceConnectorConfig
     public static final Integer CAMEL_SOURCE_NATS_ENDPOINT_CONNECTION_TIMEOUT_DEFAULT = 2000;
     public static final String CAMEL_SOURCE_NATS_ENDPOINT_FLUSH_CONNECTION_CONF = "camel.source.endpoint.flushConnection";
     public static final String CAMEL_SOURCE_NATS_ENDPOINT_FLUSH_CONNECTION_DOC = "Define if we want to flush connection when stopping or not";
-    public static final Boolean CAMEL_SOURCE_NATS_ENDPOINT_FLUSH_CONNECTION_DEFAULT = false;
+    public static final Boolean CAMEL_SOURCE_NATS_ENDPOINT_FLUSH_CONNECTION_DEFAULT = true;
     public static final String CAMEL_SOURCE_NATS_ENDPOINT_FLUSH_TIMEOUT_CONF = "camel.source.endpoint.flushTimeout";
     public static final String CAMEL_SOURCE_NATS_ENDPOINT_FLUSH_TIMEOUT_DOC = "Set the flush timeout (in milliseconds)";
     public static final Integer CAMEL_SOURCE_NATS_ENDPOINT_FLUSH_TIMEOUT_DEFAULT = 1000;
diff --git a/connectors/camel-robotframework-kafka-connector/src/main/docs/camel-robotframework-kafka-sink-connector.adoc b/connectors/camel-robotframework-kafka-connector/src/main/docs/camel-robotframework-kafka-sink-connector.adoc
index b9ea211..a9a3488 100644
--- a/connectors/camel-robotframework-kafka-connector/src/main/docs/camel-robotframework-kafka-sink-connector.adoc
+++ b/connectors/camel-robotframework-kafka-connector/src/main/docs/camel-robotframework-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-robotframework-kafka-connector as sink make sure to use the fol
 ----
 
 
-The camel-robotframework sink connector supports 98 options, which are listed below.
+The camel-robotframework sink connector supports 100 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-robotframework sink connector supports 98 options, which are listed be
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.argumentFile* | A text file to read more arguments from. | null | MEDIUM
 | *camel.sink.endpoint.combinedTagStats* | Creates combined statistics based on tags. Use the format tags:title List | null | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
@@ -72,6 +73,7 @@ The camel-robotframework sink connector supports 98 options, which are listed be
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.robotframework.allowTemplateFrom Header* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.robotframework.argumentFile* | A text file to read more arguments from. | null | MEDIUM
 | *camel.component.robotframework.combinedTagStats* | Creates combined statistics based on tags. Use the format tags:title List | null | MEDIUM
 | *camel.component.robotframework.criticalTags* | Tests that have the given tags are considered critical. List | null | MEDIUM
diff --git a/connectors/camel-robotframework-kafka-connector/src/main/docs/camel-robotframework-kafka-source-connector.adoc b/connectors/camel-robotframework-kafka-connector/src/main/docs/camel-robotframework-kafka-source-connector.adoc
index e06461c..7fca0d0 100644
--- a/connectors/camel-robotframework-kafka-connector/src/main/docs/camel-robotframework-kafka-source-connector.adoc
+++ b/connectors/camel-robotframework-kafka-connector/src/main/docs/camel-robotframework-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-robotframework-kafka-connector as source make sure to use the f
 ----
 
 
-The camel-robotframework source connector supports 116 options, which are listed below.
+The camel-robotframework source connector supports 118 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-robotframework source connector supports 116 options, which are listed
 |===
 | Name | Description | Default | Priority
 | *camel.source.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.source.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.source.endpoint.argumentFile* | A text file to read more arguments from. | null | MEDIUM
 | *camel.source.endpoint.combinedTagStats* | Creates combined statistics based on tags. Use the format tags:title List | null | MEDIUM
 | *camel.source.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
@@ -90,6 +91,7 @@ The camel-robotframework source connector supports 116 options, which are listed
 | *camel.source.endpoint.startScheduler* | Whether the scheduler should be auto started. | true | MEDIUM
 | *camel.source.endpoint.timeUnit* | Time unit for initialDelay and delay options. One of: [NANOSECONDS] [MICROSECONDS] [MILLISECONDS] [SECONDS] [MINUTES] [HOURS] [DAYS] | "MILLISECONDS" | MEDIUM
 | *camel.source.endpoint.useFixedDelay* | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | MEDIUM
+| *camel.component.robotframework.allowTemplateFrom Header* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.robotframework.argumentFile* | A text file to read more arguments from. | null | MEDIUM
 | *camel.component.robotframework.combinedTagStats* | Creates combined statistics based on tags. Use the format tags:title List | null | MEDIUM
 | *camel.component.robotframework.criticalTags* | Tests that have the given tags are considered critical. List | null | MEDIUM
diff --git a/connectors/camel-robotframework-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/robotframework/CamelRobotframeworkSinkConnectorConfig.java b/connectors/camel-robotframework-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/robotframework/CamelRobotframeworkSinkConnectorConfig.java
index 9d82451..4cab2ef 100644
--- a/connectors/camel-robotframework-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/robotframework/CamelRobotframeworkSinkConnectorConfig.java
+++ b/connectors/camel-robotframework-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/robotframework/CamelRobotframeworkSinkConnectorConfig.java
@@ -29,6 +29,9 @@ public class CamelRobotframeworkSinkConnectorConfig
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_PATH_RESOURCE_URI_CONF = "camel.sink.path.resourceUri";
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_PATH_RESOURCE_URI_DOC = "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.";
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_PATH_RESOURCE_URI_DEFAULT = null;
+    public static final String CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.sink.endpoint.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_CONF = "camel.sink.endpoint.argumentFile";
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_DOC = "A text file to read more arguments from.";
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_DEFAULT = null;
@@ -176,6 +179,9 @@ public class CamelRobotframeworkSinkConnectorConfig
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
     public static final Boolean CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.component.robotframework.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_CONF = "camel.component.robotframework.argumentFile";
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_DOC = "A text file to read more arguments from.";
     public static final String CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_DEFAULT = null;
@@ -335,6 +341,7 @@ public class CamelRobotframeworkSinkConnectorConfig
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_ROBOTFRAMEWORK_PATH_RESOURCE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ROBOTFRAMEWORK_PATH_RESOURCE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_ROBOTFRAMEWORK_PATH_RESOURCE_URI_DOC);
+        conf.define(CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_DOC);
         conf.define(CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_COMBINED_TAG_STATS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_COMBINED_TAG_STATS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_COMBINED_TAG_STATS_DOC);
         conf.define(CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_CONTENT_CACHE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_CONTENT_CACHE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_CONTENT_CACHE_DOC);
@@ -384,6 +391,7 @@ public class CamelRobotframeworkSinkConnectorConfig
         conf.define(CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_DOC);
         conf.define(CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_COMBINED_TAG_STATS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_COMBINED_TAG_STATS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_COMBINED_TAG_STATS_DOC);
         conf.define(CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_CRITICAL_TAGS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_CRITICAL_TAGS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_ROBOTFRAMEWORK_COMPONENT_CRITICAL_TAGS_DOC);
diff --git a/connectors/camel-robotframework-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/robotframework/CamelRobotframeworkSourceConnectorConfig.java b/connectors/camel-robotframework-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/robotframework/CamelRobotframeworkSourceConnectorConfig.java
index 305c41f..8934d5f 100644
--- a/connectors/camel-robotframework-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/robotframework/CamelRobotframeworkSourceConnectorConfig.java
+++ b/connectors/camel-robotframework-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/robotframework/CamelRobotframeworkSourceConnectorConfig.java
@@ -29,6 +29,9 @@ public class CamelRobotframeworkSourceConnectorConfig
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_PATH_RESOURCE_URI_CONF = "camel.source.path.resourceUri";
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_PATH_RESOURCE_URI_DOC = "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.";
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_PATH_RESOURCE_URI_DEFAULT = null;
+    public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.source.endpoint.allowTemplateFromHeader";
+    public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_CONF = "camel.source.endpoint.argumentFile";
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_DOC = "A text file to read more arguments from.";
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_DEFAULT = null;
@@ -230,6 +233,9 @@ public class CamelRobotframeworkSourceConnectorConfig
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_USE_FIXED_DELAY_CONF = "camel.source.endpoint.useFixedDelay";
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_USE_FIXED_DELAY_DOC = "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.";
     public static final Boolean CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_USE_FIXED_DELAY_DEFAULT = true;
+    public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.component.robotframework.allowTemplateFromHeader";
+    public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_CONF = "camel.component.robotframework.argumentFile";
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_DOC = "A text file to read more arguments from.";
     public static final String CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_DEFAULT = null;
@@ -389,6 +395,7 @@ public class CamelRobotframeworkSourceConnectorConfig
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSourceConnectorConfig.conf());
         conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_PATH_RESOURCE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ROBOTFRAMEWORK_PATH_RESOURCE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SOURCE_ROBOTFRAMEWORK_PATH_RESOURCE_URI_DOC);
+        conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_ARGUMENT_FILE_DOC);
         conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_COMBINED_TAG_STATS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_COMBINED_TAG_STATS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_COMBINED_TAG_STATS_DOC);
         conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_CONTENT_CACHE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_CONTENT_CACHE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_CONTENT_CACHE_DOC);
@@ -456,6 +463,7 @@ public class CamelRobotframeworkSourceConnectorConfig
         conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_START_SCHEDULER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_START_SCHEDULER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_START_SCHEDULER_DOC);
         conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_TIME_UNIT_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_TIME_UNIT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_TIME_UNIT_DOC);
         conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_USE_FIXED_DELAY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_USE_FIXED_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_ENDPOINT_USE_FIXED_DELAY_DOC);
+        conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_ARGUMENT_FILE_DOC);
         conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_COMBINED_TAG_STATS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_COMBINED_TAG_STATS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_COMBINED_TAG_STATS_DOC);
         conf.define(CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_CRITICAL_TAGS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_CRITICAL_TAGS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_ROBOTFRAMEWORK_COMPONENT_CRITICAL_TAGS_DOC);
diff --git a/connectors/camel-rss-kafka-connector/src/main/docs/camel-rss-kafka-source-connector.adoc b/connectors/camel-rss-kafka-connector/src/main/docs/camel-rss-kafka-source-connector.adoc
index 29fb357..77972b3 100644
--- a/connectors/camel-rss-kafka-connector/src/main/docs/camel-rss-kafka-source-connector.adoc
+++ b/connectors/camel-rss-kafka-connector/src/main/docs/camel-rss-kafka-source-connector.adoc
@@ -31,7 +31,7 @@ The camel-rss source connector supports 32 options, which are listed below.
 | *camel.source.endpoint.sendEmptyMessageWhenIdle* | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | MEDIUM
 | *camel.source.endpoint.sortEntries* | Sets whether to sort entries by published date. Only works when splitEntries = true. | false | MEDIUM
 | *camel.source.endpoint.splitEntries* | Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message | true | MEDIUM
-| *camel.source.endpoint.throttleEntries* | Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries = true. | true | MEDIUM
+| *camel.source.endpoint.throttleEntries* | Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true. | true | MEDIUM
 | *camel.source.endpoint.username* | Sets the username to be used for basic authentication when polling from a HTTP feed. | null | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
 | *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
diff --git a/connectors/camel-rss-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rss/CamelRssSourceConnectorConfig.java b/connectors/camel-rss-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rss/CamelRssSourceConnectorConfig.java
index 45e0eef..d2891fb 100644
--- a/connectors/camel-rss-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rss/CamelRssSourceConnectorConfig.java
+++ b/connectors/camel-rss-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rss/CamelRssSourceConnectorConfig.java
@@ -52,7 +52,7 @@ public class CamelRssSourceConnectorConfig extends CamelSourceConnectorConfig {
     public static final String CAMEL_SOURCE_RSS_ENDPOINT_SPLIT_ENTRIES_DOC = "Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message";
     public static final Boolean CAMEL_SOURCE_RSS_ENDPOINT_SPLIT_ENTRIES_DEFAULT = true;
     public static final String CAMEL_SOURCE_RSS_ENDPOINT_THROTTLE_ENTRIES_CONF = "camel.source.endpoint.throttleEntries";
-    public static final String CAMEL_SOURCE_RSS_ENDPOINT_THROTTLE_ENTRIES_DOC = "Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries = true.";
+    public static final String CAMEL_SOURCE_RSS_ENDPOINT_THROTTLE_ENTRIES_DOC = "Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true.";
     public static final Boolean CAMEL_SOURCE_RSS_ENDPOINT_THROTTLE_ENTRIES_DEFAULT = true;
     public static final String CAMEL_SOURCE_RSS_ENDPOINT_USERNAME_CONF = "camel.source.endpoint.username";
     public static final String CAMEL_SOURCE_RSS_ENDPOINT_USERNAME_DOC = "Sets the username to be used for basic authentication when polling from a HTTP feed.";
diff --git a/connectors/camel-salesforce-kafka-connector/src/main/docs/camel-salesforce-kafka-sink-connector.adoc b/connectors/camel-salesforce-kafka-connector/src/main/docs/camel-salesforce-kafka-sink-connector.adoc
index ab121fb..aa8c825 100644
--- a/connectors/camel-salesforce-kafka-connector/src/main/docs/camel-salesforce-kafka-sink-connector.adoc
+++ b/connectors/camel-salesforce-kafka-connector/src/main/docs/camel-salesforce-kafka-sink-connector.adoc
@@ -26,8 +26,8 @@ The camel-salesforce sink connector supports 113 options, which are listed below
 | *camel.sink.endpoint.apexMethod* | APEX method name | null | MEDIUM
 | *camel.sink.endpoint.apexQueryParams* | Query params for APEX method | null | MEDIUM
 | *camel.sink.endpoint.apexUrl* | APEX method URL | null | MEDIUM
-| *camel.sink.endpoint.apiVersion* | Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION | null | MEDIUM
-| *camel.sink.endpoint.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
+| *camel.sink.endpoint.apiVersion* | Salesforce API version. | "34.0" | MEDIUM
+| *camel.sink.endpoint.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 1000L | MEDIUM
 | *camel.sink.endpoint.batchId* | Bulk API Batch ID | null | MEDIUM
 | *camel.sink.endpoint.contentType* | Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV One of: [XML] [CSV] [JSON] [ZIP_XML] [ZIP_CSV] [ZIP_JSON] | null | MEDIUM
 | *camel.sink.endpoint.defaultReplayId* | Default replayId setting if no value is found in initialReplayIdMap | null | MEDIUM
@@ -38,8 +38,8 @@ The camel-salesforce sink connector supports 113 options, which are listed below
 | *camel.sink.endpoint.instanceId* | Salesforce1 Analytics report execution instance ID | null | MEDIUM
 | *camel.sink.endpoint.jobId* | Bulk API Job ID | null | MEDIUM
 | *camel.sink.endpoint.limit* | Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation. | null | MEDIUM
-| *camel.sink.endpoint.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
-| *camel.sink.endpoint.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | null | MEDIUM
+| *camel.sink.endpoint.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 30000L | MEDIUM
+| *camel.sink.endpoint.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | "EXCEPTION" | MEDIUM
 | *camel.sink.endpoint.notifyForFields* | Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE] | null | MEDIUM
 | *camel.sink.endpoint.notifyForOperationCreate* | Notify for create operation, defaults to false (API version = 29.0) | null | MEDIUM
 | *camel.sink.endpoint.notifyForOperationDelete* | Notify for delete operation, defaults to false (API version = 29.0) | null | MEDIUM
@@ -67,8 +67,8 @@ The camel-salesforce sink connector supports 113 options, which are listed below
 | *camel.component.salesforce.apexMethod* | APEX method name | null | MEDIUM
 | *camel.component.salesforce.apexQueryParams* | Query params for APEX method | null | MEDIUM
 | *camel.component.salesforce.apexUrl* | APEX method URL | null | MEDIUM
-| *camel.component.salesforce.apiVersion* | Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION | null | MEDIUM
-| *camel.component.salesforce.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
+| *camel.component.salesforce.apiVersion* | Salesforce API version. | "34.0" | MEDIUM
+| *camel.component.salesforce.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 1000L | MEDIUM
 | *camel.component.salesforce.batchId* | Bulk API Batch ID | null | MEDIUM
 | *camel.component.salesforce.contentType* | Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV One of: [XML] [CSV] [JSON] [ZIP_XML] [ZIP_CSV] [ZIP_JSON] | null | MEDIUM
 | *camel.component.salesforce.defaultReplayId* | Default replayId setting if no value is found in initialReplayIdMap | null | MEDIUM
@@ -82,8 +82,8 @@ The camel-salesforce sink connector supports 113 options, which are listed below
 | *camel.component.salesforce.instanceId* | Salesforce1 Analytics report execution instance ID | null | MEDIUM
 | *camel.component.salesforce.jobId* | Bulk API Job ID | null | MEDIUM
 | *camel.component.salesforce.limit* | Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation. | null | MEDIUM
-| *camel.component.salesforce.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
-| *camel.component.salesforce.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | null | MEDIUM
+| *camel.component.salesforce.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 30000L | MEDIUM
+| *camel.component.salesforce.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | "EXCEPTION" | MEDIUM
 | *camel.component.salesforce.notifyForFields* | Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE] | null | MEDIUM
 | *camel.component.salesforce.notifyForOperation Create* | Notify for create operation, defaults to false (API version = 29.0) | null | MEDIUM
 | *camel.component.salesforce.notifyForOperation Delete* | Notify for delete operation, defaults to false (API version = 29.0) | null | MEDIUM
diff --git a/connectors/camel-salesforce-kafka-connector/src/main/docs/camel-salesforce-kafka-source-connector.adoc b/connectors/camel-salesforce-kafka-connector/src/main/docs/camel-salesforce-kafka-source-connector.adoc
index 8c9ba60..7fbf78e 100644
--- a/connectors/camel-salesforce-kafka-connector/src/main/docs/camel-salesforce-kafka-source-connector.adoc
+++ b/connectors/camel-salesforce-kafka-connector/src/main/docs/camel-salesforce-kafka-source-connector.adoc
@@ -26,8 +26,8 @@ The camel-salesforce source connector supports 116 options, which are listed bel
 | *camel.source.endpoint.apexMethod* | APEX method name | null | MEDIUM
 | *camel.source.endpoint.apexQueryParams* | Query params for APEX method | null | MEDIUM
 | *camel.source.endpoint.apexUrl* | APEX method URL | null | MEDIUM
-| *camel.source.endpoint.apiVersion* | Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION | null | MEDIUM
-| *camel.source.endpoint.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
+| *camel.source.endpoint.apiVersion* | Salesforce API version. | "34.0" | MEDIUM
+| *camel.source.endpoint.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 1000L | MEDIUM
 | *camel.source.endpoint.batchId* | Bulk API Batch ID | null | MEDIUM
 | *camel.source.endpoint.contentType* | Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV One of: [XML] [CSV] [JSON] [ZIP_XML] [ZIP_CSV] [ZIP_JSON] | null | MEDIUM
 | *camel.source.endpoint.defaultReplayId* | Default replayId setting if no value is found in initialReplayIdMap | null | MEDIUM
@@ -38,8 +38,8 @@ The camel-salesforce source connector supports 116 options, which are listed bel
 | *camel.source.endpoint.instanceId* | Salesforce1 Analytics report execution instance ID | null | MEDIUM
 | *camel.source.endpoint.jobId* | Bulk API Job ID | null | MEDIUM
 | *camel.source.endpoint.limit* | Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation. | null | MEDIUM
-| *camel.source.endpoint.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
-| *camel.source.endpoint.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | null | MEDIUM
+| *camel.source.endpoint.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 30000L | MEDIUM
+| *camel.source.endpoint.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | "EXCEPTION" | MEDIUM
 | *camel.source.endpoint.notifyForFields* | Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE] | null | MEDIUM
 | *camel.source.endpoint.notifyForOperationCreate* | Notify for create operation, defaults to false (API version = 29.0) | null | MEDIUM
 | *camel.source.endpoint.notifyForOperationDelete* | Notify for delete operation, defaults to false (API version = 29.0) | null | MEDIUM
@@ -70,8 +70,8 @@ The camel-salesforce source connector supports 116 options, which are listed bel
 | *camel.component.salesforce.apexMethod* | APEX method name | null | MEDIUM
 | *camel.component.salesforce.apexQueryParams* | Query params for APEX method | null | MEDIUM
 | *camel.component.salesforce.apexUrl* | APEX method URL | null | MEDIUM
-| *camel.component.salesforce.apiVersion* | Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION | null | MEDIUM
-| *camel.component.salesforce.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
+| *camel.component.salesforce.apiVersion* | Salesforce API version. | "34.0" | MEDIUM
+| *camel.component.salesforce.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 1000L | MEDIUM
 | *camel.component.salesforce.batchId* | Bulk API Batch ID | null | MEDIUM
 | *camel.component.salesforce.contentType* | Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV One of: [XML] [CSV] [JSON] [ZIP_XML] [ZIP_CSV] [ZIP_JSON] | null | MEDIUM
 | *camel.component.salesforce.defaultReplayId* | Default replayId setting if no value is found in initialReplayIdMap | null | MEDIUM
@@ -85,8 +85,8 @@ The camel-salesforce source connector supports 116 options, which are listed bel
 | *camel.component.salesforce.instanceId* | Salesforce1 Analytics report execution instance ID | null | MEDIUM
 | *camel.component.salesforce.jobId* | Bulk API Job ID | null | MEDIUM
 | *camel.component.salesforce.limit* | Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation. | null | MEDIUM
-| *camel.component.salesforce.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
-| *camel.component.salesforce.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | null | MEDIUM
+| *camel.component.salesforce.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 30000L | MEDIUM
+| *camel.component.salesforce.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | "EXCEPTION" | MEDIUM
 | *camel.component.salesforce.notifyForFields* | Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE] | null | MEDIUM
 | *camel.component.salesforce.notifyForOperation Create* | Notify for create operation, defaults to false (API version = 29.0) | null | MEDIUM
 | *camel.component.salesforce.notifyForOperation Delete* | Notify for delete operation, defaults to false (API version = 29.0) | null | MEDIUM
diff --git a/connectors/camel-salesforce-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforce/CamelSalesforceSinkConnectorConfig.java b/connectors/camel-salesforce-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforce/CamelSalesforceSinkConnectorConfig.java
index a58c741..27e5323 100644
--- a/connectors/camel-salesforce-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforce/CamelSalesforceSinkConnectorConfig.java
+++ b/connectors/camel-salesforce-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforce/CamelSalesforceSinkConnectorConfig.java
@@ -39,11 +39,11 @@ public class CamelSalesforceSinkConnectorConfig
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_APEX_URL_DOC = "APEX method URL";
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_APEX_URL_DEFAULT = null;
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_API_VERSION_CONF = "camel.sink.endpoint.apiVersion";
-    public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_API_VERSION_DOC = "Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION";
-    public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_API_VERSION_DEFAULT = null;
+    public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_API_VERSION_DOC = "Salesforce API version.";
+    public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_API_VERSION_DEFAULT = "34.0";
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_BACKOFF_INCREMENT_CONF = "camel.sink.endpoint.backoffIncrement";
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_BACKOFF_INCREMENT_DOC = "Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect.";
-    public static final Long CAMEL_SINK_SALESFORCE_ENDPOINT_BACKOFF_INCREMENT_DEFAULT = null;
+    public static final Long CAMEL_SINK_SALESFORCE_ENDPOINT_BACKOFF_INCREMENT_DEFAULT = 1000L;
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_BATCH_ID_CONF = "camel.sink.endpoint.batchId";
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_BATCH_ID_DOC = "Bulk API Batch ID";
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_BATCH_ID_DEFAULT = null;
@@ -76,10 +76,10 @@ public class CamelSalesforceSinkConnectorConfig
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_LIMIT_DEFAULT = null;
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_MAX_BACKOFF_CONF = "camel.sink.endpoint.maxBackoff";
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_MAX_BACKOFF_DOC = "Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect.";
-    public static final Long CAMEL_SINK_SALESFORCE_ENDPOINT_MAX_BACKOFF_DEFAULT = null;
+    public static final Long CAMEL_SINK_SALESFORCE_ENDPOINT_MAX_BACKOFF_DEFAULT = 30000L;
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_NOT_FOUND_BEHAVIOUR_CONF = "camel.sink.endpoint.notFoundBehaviour";
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_NOT_FOUND_BEHAVIOUR_DOC = "Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL]";
-    public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_NOT_FOUND_BEHAVIOUR_DEFAULT = null;
+    public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_NOT_FOUND_BEHAVIOUR_DEFAULT = "EXCEPTION";
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_NOTIFY_FOR_FIELDS_CONF = "camel.sink.endpoint.notifyForFields";
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_NOTIFY_FOR_FIELDS_DOC = "Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE]";
     public static final String CAMEL_SINK_SALESFORCE_ENDPOINT_NOTIFY_FOR_FIELDS_DEFAULT = null;
@@ -162,11 +162,11 @@ public class CamelSalesforceSinkConnectorConfig
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_APEX_URL_DOC = "APEX method URL";
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_APEX_URL_DEFAULT = null;
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_API_VERSION_CONF = "camel.component.salesforce.apiVersion";
-    public static final String CAMEL_SINK_SALESFORCE_COMPONENT_API_VERSION_DOC = "Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION";
-    public static final String CAMEL_SINK_SALESFORCE_COMPONENT_API_VERSION_DEFAULT = null;
+    public static final String CAMEL_SINK_SALESFORCE_COMPONENT_API_VERSION_DOC = "Salesforce API version.";
+    public static final String CAMEL_SINK_SALESFORCE_COMPONENT_API_VERSION_DEFAULT = "34.0";
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_BACKOFF_INCREMENT_CONF = "camel.component.salesforce.backoffIncrement";
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_BACKOFF_INCREMENT_DOC = "Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect.";
-    public static final Long CAMEL_SINK_SALESFORCE_COMPONENT_BACKOFF_INCREMENT_DEFAULT = null;
+    public static final Long CAMEL_SINK_SALESFORCE_COMPONENT_BACKOFF_INCREMENT_DEFAULT = 1000L;
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_BATCH_ID_CONF = "camel.component.salesforce.batchId";
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_BATCH_ID_DOC = "Bulk API Batch ID";
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_BATCH_ID_DEFAULT = null;
@@ -208,10 +208,10 @@ public class CamelSalesforceSinkConnectorConfig
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_LIMIT_DEFAULT = null;
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_MAX_BACKOFF_CONF = "camel.component.salesforce.maxBackoff";
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_MAX_BACKOFF_DOC = "Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect.";
-    public static final Long CAMEL_SINK_SALESFORCE_COMPONENT_MAX_BACKOFF_DEFAULT = null;
+    public static final Long CAMEL_SINK_SALESFORCE_COMPONENT_MAX_BACKOFF_DEFAULT = 30000L;
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_NOT_FOUND_BEHAVIOUR_CONF = "camel.component.salesforce.notFoundBehaviour";
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_NOT_FOUND_BEHAVIOUR_DOC = "Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL]";
-    public static final String CAMEL_SINK_SALESFORCE_COMPONENT_NOT_FOUND_BEHAVIOUR_DEFAULT = null;
+    public static final String CAMEL_SINK_SALESFORCE_COMPONENT_NOT_FOUND_BEHAVIOUR_DEFAULT = "EXCEPTION";
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_NOTIFY_FOR_FIELDS_CONF = "camel.component.salesforce.notifyForFields";
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_NOTIFY_FOR_FIELDS_DOC = "Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE]";
     public static final String CAMEL_SINK_SALESFORCE_COMPONENT_NOTIFY_FOR_FIELDS_DEFAULT = null;
diff --git a/connectors/camel-salesforce-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforce/CamelSalesforceSourceConnectorConfig.java b/connectors/camel-salesforce-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforce/CamelSalesforceSourceConnectorConfig.java
index a37868e..63d7923 100644
--- a/connectors/camel-salesforce-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforce/CamelSalesforceSourceConnectorConfig.java
+++ b/connectors/camel-salesforce-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/salesforce/CamelSalesforceSourceConnectorConfig.java
@@ -39,11 +39,11 @@ public class CamelSalesforceSourceConnectorConfig
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_APEX_URL_DOC = "APEX method URL";
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_APEX_URL_DEFAULT = null;
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_API_VERSION_CONF = "camel.source.endpoint.apiVersion";
-    public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_API_VERSION_DOC = "Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION";
-    public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_API_VERSION_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_API_VERSION_DOC = "Salesforce API version.";
+    public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_API_VERSION_DEFAULT = "34.0";
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_BACKOFF_INCREMENT_CONF = "camel.source.endpoint.backoffIncrement";
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_BACKOFF_INCREMENT_DOC = "Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect.";
-    public static final Long CAMEL_SOURCE_SALESFORCE_ENDPOINT_BACKOFF_INCREMENT_DEFAULT = null;
+    public static final Long CAMEL_SOURCE_SALESFORCE_ENDPOINT_BACKOFF_INCREMENT_DEFAULT = 1000L;
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_BATCH_ID_CONF = "camel.source.endpoint.batchId";
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_BATCH_ID_DOC = "Bulk API Batch ID";
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_BATCH_ID_DEFAULT = null;
@@ -76,10 +76,10 @@ public class CamelSalesforceSourceConnectorConfig
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_LIMIT_DEFAULT = null;
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_MAX_BACKOFF_CONF = "camel.source.endpoint.maxBackoff";
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_MAX_BACKOFF_DOC = "Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect.";
-    public static final Long CAMEL_SOURCE_SALESFORCE_ENDPOINT_MAX_BACKOFF_DEFAULT = null;
+    public static final Long CAMEL_SOURCE_SALESFORCE_ENDPOINT_MAX_BACKOFF_DEFAULT = 30000L;
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_NOT_FOUND_BEHAVIOUR_CONF = "camel.source.endpoint.notFoundBehaviour";
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_NOT_FOUND_BEHAVIOUR_DOC = "Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL]";
-    public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_NOT_FOUND_BEHAVIOUR_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_NOT_FOUND_BEHAVIOUR_DEFAULT = "EXCEPTION";
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_NOTIFY_FOR_FIELDS_CONF = "camel.source.endpoint.notifyForFields";
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_NOTIFY_FOR_FIELDS_DOC = "Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE]";
     public static final String CAMEL_SOURCE_SALESFORCE_ENDPOINT_NOTIFY_FOR_FIELDS_DEFAULT = null;
@@ -171,11 +171,11 @@ public class CamelSalesforceSourceConnectorConfig
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_APEX_URL_DOC = "APEX method URL";
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_APEX_URL_DEFAULT = null;
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_API_VERSION_CONF = "camel.component.salesforce.apiVersion";
-    public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_API_VERSION_DOC = "Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION";
-    public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_API_VERSION_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_API_VERSION_DOC = "Salesforce API version.";
+    public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_API_VERSION_DEFAULT = "34.0";
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_BACKOFF_INCREMENT_CONF = "camel.component.salesforce.backoffIncrement";
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_BACKOFF_INCREMENT_DOC = "Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect.";
-    public static final Long CAMEL_SOURCE_SALESFORCE_COMPONENT_BACKOFF_INCREMENT_DEFAULT = null;
+    public static final Long CAMEL_SOURCE_SALESFORCE_COMPONENT_BACKOFF_INCREMENT_DEFAULT = 1000L;
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_BATCH_ID_CONF = "camel.component.salesforce.batchId";
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_BATCH_ID_DOC = "Bulk API Batch ID";
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_BATCH_ID_DEFAULT = null;
@@ -217,10 +217,10 @@ public class CamelSalesforceSourceConnectorConfig
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_LIMIT_DEFAULT = null;
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_MAX_BACKOFF_CONF = "camel.component.salesforce.maxBackoff";
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_MAX_BACKOFF_DOC = "Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect.";
-    public static final Long CAMEL_SOURCE_SALESFORCE_COMPONENT_MAX_BACKOFF_DEFAULT = null;
+    public static final Long CAMEL_SOURCE_SALESFORCE_COMPONENT_MAX_BACKOFF_DEFAULT = 30000L;
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_NOT_FOUND_BEHAVIOUR_CONF = "camel.component.salesforce.notFoundBehaviour";
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_NOT_FOUND_BEHAVIOUR_DOC = "Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL]";
-    public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_NOT_FOUND_BEHAVIOUR_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_NOT_FOUND_BEHAVIOUR_DEFAULT = "EXCEPTION";
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_NOTIFY_FOR_FIELDS_CONF = "camel.component.salesforce.notifyForFields";
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_NOTIFY_FOR_FIELDS_DOC = "Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE]";
     public static final String CAMEL_SOURCE_SALESFORCE_COMPONENT_NOTIFY_FOR_FIELDS_DEFAULT = null;
diff --git a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc
index 723087d..0592a9d 100644
--- a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc
+++ b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-sftp-kafka-connector as sink make sure to use the following Mav
 ----
 
 
-The camel-sftp sink connector supports 58 options, which are listed below.
+The camel-sftp sink connector supports 59 options, which are listed below.
 
 
 
@@ -54,6 +54,7 @@ The camel-sftp sink connector supports 58 options, which are listed below.
 | *camel.sink.endpoint.bulkRequests* | Specifies how many requests may be outstanding at any one time. Increasing this value may slightly improve file transfer speed but will increase memory usage. | null | MEDIUM
 | *camel.sink.endpoint.compression* | To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to the classpath for compression support. | null | MEDIUM
 | *camel.sink.endpoint.connectTimeout* | Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH | 10000 | MEDIUM
+| *camel.sink.endpoint.existDirCheckUsingLs* | Whether to check for existing directory using LS command or CD. By default LS is used which is safer as otherwise Camel needs to change the directory back after checking. However LS has been reported to cause a problem on windows system in some situations and therefore you can disable this option to use CD. | true | MEDIUM
 | *camel.sink.endpoint.maximumReconnectAttempts* | Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior. | null | MEDIUM
 | *camel.sink.endpoint.proxy* | To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume/send messages from the target SFTP host. | null | MEDIUM
 | *camel.sink.endpoint.reconnectDelay* | Delay in millis Camel will wait before performing a reconnect attempt. | null | MEDIUM
diff --git a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc
index f1f0ea9..4d1c8b3 100644
--- a/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc
+++ b/connectors/camel-sftp-kafka-connector/src/main/docs/camel-sftp-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-sftp-kafka-connector as source make sure to use the following M
 ----
 
 
-The camel-sftp source connector supports 111 options, which are listed below.
+The camel-sftp source connector supports 112 options, which are listed below.
 
 
 
@@ -59,6 +59,7 @@ The camel-sftp source connector supports 111 options, which are listed below.
 | *camel.source.endpoint.bulkRequests* | Specifies how many requests may be outstanding at any one time. Increasing this value may slightly improve file transfer speed but will increase memory usage. | null | MEDIUM
 | *camel.source.endpoint.compression* | To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to the classpath for compression support. | null | MEDIUM
 | *camel.source.endpoint.connectTimeout* | Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH | 10000 | MEDIUM
+| *camel.source.endpoint.existDirCheckUsingLs* | Whether to check for existing directory using LS command or CD. By default LS is used which is safer as otherwise Camel needs to change the directory back after checking. However LS has been reported to cause a problem on windows system in some situations and therefore you can disable this option to use CD. | true | MEDIUM
 | *camel.source.endpoint.maximumReconnectAttempts* | Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior. | null | MEDIUM
 | *camel.source.endpoint.proxy* | To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume/send messages from the target SFTP host. | null | MEDIUM
 | *camel.source.endpoint.reconnectDelay* | Delay in millis Camel will wait before performing a reconnect attempt. | null | MEDIUM
diff --git a/connectors/camel-sftp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftp/CamelSftpSinkConnectorConfig.java b/connectors/camel-sftp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftp/CamelSftpSinkConnectorConfig.java
index f477f56..1817a8e 100644
--- a/connectors/camel-sftp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftp/CamelSftpSinkConnectorConfig.java
+++ b/connectors/camel-sftp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftp/CamelSftpSinkConnectorConfig.java
@@ -120,6 +120,9 @@ public class CamelSftpSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_SFTP_ENDPOINT_CONNECT_TIMEOUT_CONF = "camel.sink.endpoint.connectTimeout";
     public static final String CAMEL_SINK_SFTP_ENDPOINT_CONNECT_TIMEOUT_DOC = "Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH";
     public static final Integer CAMEL_SINK_SFTP_ENDPOINT_CONNECT_TIMEOUT_DEFAULT = 10000;
+    public static final String CAMEL_SINK_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_CONF = "camel.sink.endpoint.existDirCheckUsingLs";
+    public static final String CAMEL_SINK_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_DOC = "Whether to check for existing directory using LS command or CD. By default LS is used which is safer as otherwise Camel needs to change the directory back after checking. However LS has been reported to cause a problem on windows system in some situations and therefore you can disable this option to use CD.";
+    public static final Boolean CAMEL_SINK_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_DEFAULT = true;
     public static final String CAMEL_SINK_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_CONF = "camel.sink.endpoint.maximumReconnectAttempts";
     public static final String CAMEL_SINK_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_DOC = "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.";
     public static final Integer CAMEL_SINK_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_DEFAULT = null;
@@ -243,6 +246,7 @@ public class CamelSftpSinkConnectorConfig extends CamelSinkConnectorConfig {
         conf.define(CAMEL_SINK_SFTP_ENDPOINT_BULK_REQUESTS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SFTP_ENDPOINT_BULK_REQUESTS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SFTP_ENDPOINT_BULK_REQUESTS_DOC);
         conf.define(CAMEL_SINK_SFTP_ENDPOINT_COMPRESSION_CONF, ConfigDef.Type.INT, CAMEL_SINK_SFTP_ENDPOINT_COMPRESSION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SFTP_ENDPOINT_COMPRESSION_DOC);
         conf.define(CAMEL_SINK_SFTP_ENDPOINT_CONNECT_TIMEOUT_CONF, ConfigDef.Type.INT, CAMEL_SINK_SFTP_ENDPOINT_CONNECT_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SFTP_ENDPOINT_CONNECT_TIMEOUT_DOC);
+        conf.define(CAMEL_SINK_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_DOC);
         conf.define(CAMEL_SINK_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_CONF, ConfigDef.Type.INT, CAMEL_SINK_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_DOC);
         conf.define(CAMEL_SINK_SFTP_ENDPOINT_PROXY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SFTP_ENDPOINT_PROXY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SFTP_ENDPOINT_PROXY_DOC);
         conf.define(CAMEL_SINK_SFTP_ENDPOINT_RECONNECT_DELAY_CONF, ConfigDef.Type.LONG, CAMEL_SINK_SFTP_ENDPOINT_RECONNECT_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SFTP_ENDPOINT_RECONNECT_DELAY_DOC);
diff --git a/connectors/camel-sftp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftp/CamelSftpSourceConnectorConfig.java b/connectors/camel-sftp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftp/CamelSftpSourceConnectorConfig.java
index 97db363..2396b46 100644
--- a/connectors/camel-sftp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftp/CamelSftpSourceConnectorConfig.java
+++ b/connectors/camel-sftp-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/sftp/CamelSftpSourceConnectorConfig.java
@@ -137,6 +137,9 @@ public class CamelSftpSourceConnectorConfig
     public static final String CAMEL_SOURCE_SFTP_ENDPOINT_CONNECT_TIMEOUT_CONF = "camel.source.endpoint.connectTimeout";
     public static final String CAMEL_SOURCE_SFTP_ENDPOINT_CONNECT_TIMEOUT_DOC = "Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH";
     public static final Integer CAMEL_SOURCE_SFTP_ENDPOINT_CONNECT_TIMEOUT_DEFAULT = 10000;
+    public static final String CAMEL_SOURCE_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_CONF = "camel.source.endpoint.existDirCheckUsingLs";
+    public static final String CAMEL_SOURCE_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_DOC = "Whether to check for existing directory using LS command or CD. By default LS is used which is safer as otherwise Camel needs to change the directory back after checking. However LS has been reported to cause a problem on windows system in some situations and therefore you can disable this option to use CD.";
+    public static final Boolean CAMEL_SOURCE_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_DEFAULT = true;
     public static final String CAMEL_SOURCE_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_CONF = "camel.source.endpoint.maximumReconnectAttempts";
     public static final String CAMEL_SOURCE_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_DOC = "Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior.";
     public static final Integer CAMEL_SOURCE_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_DEFAULT = null;
@@ -409,6 +412,7 @@ public class CamelSftpSourceConnectorConfig
         conf.define(CAMEL_SOURCE_SFTP_ENDPOINT_BULK_REQUESTS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SFTP_ENDPOINT_BULK_REQUESTS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SFTP_ENDPOINT_BULK_REQUESTS_DOC);
         conf.define(CAMEL_SOURCE_SFTP_ENDPOINT_COMPRESSION_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_SFTP_ENDPOINT_COMPRESSION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SFTP_ENDPOINT_COMPRESSION_DOC);
         conf.define(CAMEL_SOURCE_SFTP_ENDPOINT_CONNECT_TIMEOUT_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_SFTP_ENDPOINT_CONNECT_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SFTP_ENDPOINT_CONNECT_TIMEOUT_DOC);
+        conf.define(CAMEL_SOURCE_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SFTP_ENDPOINT_EXIST_DIR_CHECK_USING_LS_DOC);
         conf.define(CAMEL_SOURCE_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SFTP_ENDPOINT_MAXIMUM_RECONNECT_ATTEMPTS_DOC);
         conf.define(CAMEL_SOURCE_SFTP_ENDPOINT_PROXY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SFTP_ENDPOINT_PROXY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SFTP_ENDPOINT_PROXY_DOC);
         conf.define(CAMEL_SOURCE_SFTP_ENDPOINT_RECONNECT_DELAY_CONF, ConfigDef.Type.LONG, CAMEL_SOURCE_SFTP_ENDPOINT_RECONNECT_DELAY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SFTP_ENDPOINT_RECONNECT_DELAY_DOC);
diff --git a/connectors/camel-splunk-hec-kafka-connector/pom.xml b/connectors/camel-splunk-hec-kafka-connector/pom.xml
new file mode 100644
index 0000000..b5ae52e
--- /dev/null
+++ b/connectors/camel-splunk-hec-kafka-connector/pom.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.camel.kafkaconnector</groupId>
+    <artifactId>connectors</artifactId>
+    <version>0.3.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>camel-splunk-hec-kafka-connector</artifactId>
+  <name>Camel-Kafka-Connector :: splunk-hec</name>
+  <description>Camel Kafka Connector for splunk-hec</description>
+  <dependencies>
+    <!-- Kafka -->
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.kafka</groupId>
+      <artifactId>connect-transforms</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Camel -->
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-splunk-hec</artifactId>
+    </dependency>
+    <!--START OF GENERATED CODE-->
+    <dependency>
+      <groupId>org.apache.camel.kafkaconnector</groupId>
+      <artifactId>camel-kafka-connector</artifactId>
+    </dependency>
+    <!--END OF GENERATED CODE-->
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${version.maven.surefire.plugin}</version>
+        <configuration>
+          <failIfNoTests>false</failIfNoTests>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>${version.maven.jar}</version>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.5.1</version>
+        <inherited>true</inherited>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.5.3</version>
+        <configuration>
+          <descriptors>
+            <descriptor>src/main/assembly/package.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <executions>
+          <execution>
+            <id>make-assembly</id>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <!--START OF GENERATED CODE-->
+  <repositories>
+    <!-- camel-jira -->
+    <repository>
+      <id>atlassian-public</id>
+      <url>https://packages.atlassian.com/maven-external</url>
+      <name>Atlassian Public Repo</name>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <!-- camel-ipfs and camel-weka -->
+    <repository>
+      <id>jboss.thirdparty</id>
+      <name>JBoss Thirdparty Repository</name>
+      <url>https://repository.jboss.org/nexus/service/local/repositories/thirdparty-releases/content/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <!--END OF GENERATED CODE-->
+</project>
diff --git a/connectors/camel-splunk-hec-kafka-connector/src/main/assembly/package.xml b/connectors/camel-splunk-hec-kafka-connector/src/main/assembly/package.xml
new file mode 100644
index 0000000..b52bbc5
--- /dev/null
+++ b/connectors/camel-splunk-hec-kafka-connector/src/main/assembly/package.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<assembly>
+  <!-- Assembles a packaged version targeting OS installation. -->
+  <id>package</id>
+  <formats>
+    <format>zip</format>
+    <format>tar.gz</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${project.basedir}/../..</directory>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <includes>
+        <include>README*</include>
+        <include>LICENSE*</include>
+        <include>NOTICE*</include>
+        <include>licenses/</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>${project.basedir}/config</directory>
+      <outputDirectory>etc/${project.artifactId}</outputDirectory>
+      <includes>
+        <include>*</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>${project.artifactId}/</outputDirectory>
+      <useProjectArtifact>true</useProjectArtifact>
+      <useTransitiveFiltering>true</useTransitiveFiltering>
+      <excludes>
+        <exclude>org.apache.kafka:connect-api</exclude>
+      </excludes>
+    </dependencySet>
+  </dependencySets>
+</assembly>
diff --git a/connectors/camel-freemarker-kafka-connector/src/main/docs/camel-freemarker-kafka-sink-connector.adoc b/connectors/camel-splunk-hec-kafka-connector/src/main/docs/camel-splunk-hec-kafka-sink-connector.adoc
similarity index 60%
copy from connectors/camel-freemarker-kafka-connector/src/main/docs/camel-freemarker-kafka-sink-connector.adoc
copy to connectors/camel-splunk-hec-kafka-connector/src/main/docs/camel-splunk-hec-kafka-sink-connector.adoc
index 051afab..ae545f4 100644
--- a/connectors/camel-freemarker-kafka-connector/src/main/docs/camel-freemarker-kafka-sink-connector.adoc
+++ b/connectors/camel-splunk-hec-kafka-connector/src/main/docs/camel-splunk-hec-kafka-sink-connector.adoc
@@ -1,37 +1,41 @@
 // kafka-connector options: START
-[[camel-freemarker-kafka-connector-sink]]
-= camel-freemarker-kafka-connector sink configuration
+[[camel-splunk-hec-kafka-connector-sink]]
+= camel-splunk-hec-kafka-connector sink configuration
 
-When using camel-freemarker-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+When using camel-splunk-hec-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
 
 [source,xml]
 ----
 <dependency>
   <groupId>org.apache.camel.kafkaconnector</groupId>
-  <artifactId>camel-freemarker-kafka-connector</artifactId>
+  <artifactId>camel-splunk-hec-kafka-connector</artifactId>
   <version>x.x.x</version>
   <!-- use the same version as your Camel Kafka connector version -->
 </dependency>
 ----
 
 
-The camel-freemarker sink connector supports 11 options, which are listed below.
+The camel-splunk-hec sink connector supports 13 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Priority
-| *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
-| *camel.sink.endpoint.configuration* | Sets the Freemarker configuration to use | null | MEDIUM
-| *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
-| *camel.sink.endpoint.encoding* | Sets the encoding to be used for loading the template file. | null | MEDIUM
+| *camel.sink.path.splunkURL* | Splunk Host URL | null | HIGH
+| *camel.sink.path.token* | Splunk authorization token | null | HIGH
+| *camel.sink.endpoint.host* | Splunk host. | null | MEDIUM
+| *camel.sink.endpoint.index* | Splunk index to write to | "camel" | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
-| *camel.sink.endpoint.templateUpdateDelay* | Number of seconds the loaded template resource will remain in the cache. | null | MEDIUM
+| *camel.sink.endpoint.source* | Splunk source argument | "camel" | MEDIUM
+| *camel.sink.endpoint.sourceType* | Splunk sourcetype argument | "camel" | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
-| *camel.component.freemarker.lazyStartProducer* | 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 t [...]
-| *camel.component.freemarker.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
-| *camel.component.freemarker.configuration* | To use an existing freemarker.template.Configuration instance as the configuration. | null | MEDIUM
+| *camel.sink.endpoint.https* | Contact HEC over https. | true | MEDIUM
+| *camel.sink.endpoint.skipTlsVerify* | Splunk HEC TLS verification. | false | MEDIUM
+| *camel.component.splunk-hec.lazyStartProducer* | 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 t [...]
+| *camel.component.splunk-hec.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 |===
+
+
 // kafka-connector options: END
diff --git a/connectors/camel-splunk-hec-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhec/CamelSplunkhecSinkConnector.java b/connectors/camel-splunk-hec-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhec/CamelSplunkhecSinkConnector.java
new file mode 100644
index 0000000..6fd50fc
--- /dev/null
+++ b/connectors/camel-splunk-hec-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhec/CamelSplunkhecSinkConnector.java
@@ -0,0 +1,35 @@
+/*
+ * 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.kafkaconnector.splunkhec;
+
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnector;
+import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.connector.Task;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelSplunkhecSinkConnector extends CamelSinkConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelSplunkhecSinkConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelSplunkhecSinkTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-splunk-hec-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhec/CamelSplunkhecSinkConnectorConfig.java b/connectors/camel-splunk-hec-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhec/CamelSplunkhecSinkConnectorConfig.java
new file mode 100644
index 0000000..733db49
--- /dev/null
+++ b/connectors/camel-splunk-hec-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhec/CamelSplunkhecSinkConnectorConfig.java
@@ -0,0 +1,96 @@
+/*
+ * 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.kafkaconnector.splunkhec;
+
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.kafka.common.config.ConfigDef;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelSplunkhecSinkConnectorConfig
+        extends
+            CamelSinkConnectorConfig {
+
+    public static final String CAMEL_SINK_SPLUNKHEC_PATH_SPLUNK_URLCONF = "camel.sink.path.splunkURL";
+    public static final String CAMEL_SINK_SPLUNKHEC_PATH_SPLUNK_URLDOC = "Splunk Host URL";
+    public static final String CAMEL_SINK_SPLUNKHEC_PATH_SPLUNK_URLDEFAULT = null;
+    public static final String CAMEL_SINK_SPLUNKHEC_PATH_TOKEN_CONF = "camel.sink.path.token";
+    public static final String CAMEL_SINK_SPLUNKHEC_PATH_TOKEN_DOC = "Splunk authorization token";
+    public static final String CAMEL_SINK_SPLUNKHEC_PATH_TOKEN_DEFAULT = null;
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_HOST_CONF = "camel.sink.endpoint.host";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_HOST_DOC = "Splunk host.";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_HOST_DEFAULT = null;
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_INDEX_CONF = "camel.sink.endpoint.index";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_INDEX_DOC = "Splunk index to write to";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_INDEX_DEFAULT = "camel";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_LAZY_START_PRODUCER_DOC = "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  [...]
+    public static final Boolean CAMEL_SINK_SPLUNKHEC_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_CONF = "camel.sink.endpoint.source";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_DOC = "Splunk source argument";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_DEFAULT = "camel";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_TYPE_CONF = "camel.sink.endpoint.sourceType";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_TYPE_DOC = "Splunk sourcetype argument";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_TYPE_DEFAULT = "camel";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_BASIC_PROPERTY_BINDING_CONF = "camel.sink.endpoint.basicPropertyBinding";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_BASIC_PROPERTY_BINDING_DOC = "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SINK_SPLUNKHEC_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
+    public static final Boolean CAMEL_SINK_SPLUNKHEC_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_HTTPS_CONF = "camel.sink.endpoint.https";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_HTTPS_DOC = "Contact HEC over https.";
+    public static final Boolean CAMEL_SINK_SPLUNKHEC_ENDPOINT_HTTPS_DEFAULT = true;
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_SKIP_TLS_VERIFY_CONF = "camel.sink.endpoint.skipTlsVerify";
+    public static final String CAMEL_SINK_SPLUNKHEC_ENDPOINT_SKIP_TLS_VERIFY_DOC = "Splunk HEC TLS verification.";
+    public static final Boolean CAMEL_SINK_SPLUNKHEC_ENDPOINT_SKIP_TLS_VERIFY_DEFAULT = false;
+    public static final String CAMEL_SINK_SPLUNKHEC_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.splunk-hec.lazyStartProducer";
+    public static final String CAMEL_SINK_SPLUNKHEC_COMPONENT_LAZY_START_PRODUCER_DOC = "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 [...]
+    public static final Boolean CAMEL_SINK_SPLUNKHEC_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_SPLUNKHEC_COMPONENT_BASIC_PROPERTY_BINDING_CONF = "camel.component.splunk-hec.basicPropertyBinding";
+    public static final String CAMEL_SINK_SPLUNKHEC_COMPONENT_BASIC_PROPERTY_BINDING_DOC = "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities";
+    public static final Boolean CAMEL_SINK_SPLUNKHEC_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT = false;
+
+    public CamelSplunkhecSinkConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelSplunkhecSinkConnectorConfig(Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
+        conf.define(CAMEL_SINK_SPLUNKHEC_PATH_SPLUNK_URLCONF, ConfigDef.Type.STRING, CAMEL_SINK_SPLUNKHEC_PATH_SPLUNK_URLDEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_SPLUNKHEC_PATH_SPLUNK_URLDOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_PATH_TOKEN_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPLUNKHEC_PATH_TOKEN_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_SPLUNKHEC_PATH_TOKEN_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_ENDPOINT_HOST_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPLUNKHEC_ENDPOINT_HOST_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_ENDPOINT_HOST_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_ENDPOINT_INDEX_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPLUNKHEC_ENDPOINT_INDEX_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_ENDPOINT_INDEX_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPLUNKHEC_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_ENDPOINT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_ENDPOINT_SOURCE_TYPE_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPLUNKHEC_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPLUNKHEC_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_ENDPOINT_HTTPS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPLUNKHEC_ENDPOINT_HTTPS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_ENDPOINT_HTTPS_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_ENDPOINT_SKIP_TLS_VERIFY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPLUNKHEC_ENDPOINT_SKIP_TLS_VERIFY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_ENDPOINT_SKIP_TLS_VERIFY_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPLUNKHEC_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_COMPONENT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_SPLUNKHEC_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPLUNKHEC_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPLUNKHEC_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-splunk-hec-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhec/CamelSplunkhecSinkTask.java b/connectors/camel-splunk-hec-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhec/CamelSplunkhecSinkTask.java
new file mode 100644
index 0000000..f6828bb
--- /dev/null
+++ b/connectors/camel-splunk-hec-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/splunkhec/CamelSplunkhecSinkTask.java
@@ -0,0 +1,39 @@
+/*
+ * 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.kafkaconnector.splunkhec;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.annotation.Generated;
+import org.apache.camel.kafkaconnector.CamelSinkConnectorConfig;
+import org.apache.camel.kafkaconnector.CamelSinkTask;
+
+@Generated("This class has been generated by camel-kafka-connector-generator-maven-plugin, remove this annotation to prevent it from being generated.")
+public class CamelSplunkhecSinkTask extends CamelSinkTask {
+
+    @Override
+    protected CamelSinkConnectorConfig getCamelSinkConnectorConfig(
+            Map<String, String> props) {
+        return new CamelSplunkhecSinkConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSinkConnectorConfig.CAMEL_SINK_COMPONENT_CONF, "splunk-hec");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-splunk-hec-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-splunk-hec-kafka-connector/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/connectors/camel-splunk-hec-kafka-connector/src/main/resources/META-INF/LICENSE.txt
@@ -0,0 +1,203 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+
diff --git a/connectors/camel-splunk-hec-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-splunk-hec-kafka-connector/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/connectors/camel-splunk-hec-kafka-connector/src/main/resources/META-INF/NOTICE.txt
@@ -0,0 +1,11 @@
+   =========================================================================
+   ==  NOTICE file corresponding to the section 4 d of                    ==
+   ==  the Apache License, Version 2.0,                                   ==
+   ==  in this case for the Apache Camel distribution.                    ==
+   =========================================================================
+
+   This product includes software developed by
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Please read the different LICENSE files present in the licenses directory of
+   this distribution.
diff --git a/connectors/camel-string-template-kafka-connector/src/main/docs/camel-string-template-kafka-sink-connector.adoc b/connectors/camel-string-template-kafka-connector/src/main/docs/camel-string-template-kafka-sink-connector.adoc
index d5a5e64..5ee7829 100644
--- a/connectors/camel-string-template-kafka-connector/src/main/docs/camel-string-template-kafka-sink-connector.adoc
+++ b/connectors/camel-string-template-kafka-connector/src/main/docs/camel-string-template-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-string-template-kafka-connector as sink make sure to use the fo
 ----
 
 
-The camel-string-template sink connector supports 9 options, which are listed below.
+The camel-string-template sink connector supports 11 options, which are listed below.
 
 
 
@@ -23,12 +23,14 @@ The camel-string-template sink connector supports 9 options, which are listed be
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.delimiterStart* | The variable start delimiter | "<" | MEDIUM
 | *camel.sink.endpoint.delimiterStop* | The variable end delimiter | ">" | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.string-template.allowTemplateFrom Header* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.string-template.lazyStartProducer* | 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 proces [...]
 | *camel.component.string-template.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 |===
diff --git a/connectors/camel-string-template-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/stringtemplate/CamelStringtemplateSinkConnectorConfig.java b/connectors/camel-string-template-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/stringtemplate/CamelStringtemplateSinkConnectorConfig.java
index 8f60275..8d5e32b 100644
--- a/connectors/camel-string-template-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/stringtemplate/CamelStringtemplateSinkConnectorConfig.java
+++ b/connectors/camel-string-template-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/stringtemplate/CamelStringtemplateSinkConnectorConfig.java
@@ -29,6 +29,9 @@ public class CamelStringtemplateSinkConnectorConfig
     public static final String CAMEL_SINK_STRINGTEMPLATE_PATH_RESOURCE_URI_CONF = "camel.sink.path.resourceUri";
     public static final String CAMEL_SINK_STRINGTEMPLATE_PATH_RESOURCE_URI_DOC = "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.";
     public static final String CAMEL_SINK_STRINGTEMPLATE_PATH_RESOURCE_URI_DEFAULT = null;
+    public static final String CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.sink.endpoint.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_CONTENT_CACHE_CONF = "camel.sink.endpoint.contentCache";
     public static final String CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_CONTENT_CACHE_DOC = "Sets whether to use resource content cache or not";
     public static final Boolean CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_CONTENT_CACHE_DEFAULT = false;
@@ -47,6 +50,9 @@ public class CamelStringtemplateSinkConnectorConfig
     public static final String CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
     public static final String CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
     public static final Boolean CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_STRINGTEMPLATE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.component.string-template.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_STRINGTEMPLATE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_STRINGTEMPLATE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_STRINGTEMPLATE_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.string-template.lazyStartProducer";
     public static final String CAMEL_SINK_STRINGTEMPLATE_COMPONENT_LAZY_START_PRODUCER_DOC = "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 [...]
     public static final Boolean CAMEL_SINK_STRINGTEMPLATE_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -68,12 +74,14 @@ public class CamelStringtemplateSinkConnectorConfig
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_STRINGTEMPLATE_PATH_RESOURCE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SINK_STRINGTEMPLATE_PATH_RESOURCE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_STRINGTEMPLATE_PATH_RESOURCE_URI_DOC);
+        conf.define(CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_CONTENT_CACHE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_CONTENT_CACHE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_CONTENT_CACHE_DOC);
         conf.define(CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_DELIMITER_START_CONF, ConfigDef.Type.STRING, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_DELIMITER_START_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_DELIMITER_START_DOC);
         conf.define(CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_DELIMITER_STOP_CONF, ConfigDef.Type.STRING, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_DELIMITER_STOP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_DELIMITER_STOP_DOC);
         conf.define(CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_STRINGTEMPLATE_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_STRINGTEMPLATE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_STRINGTEMPLATE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_STRINGTEMPLATE_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_STRINGTEMPLATE_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_STRINGTEMPLATE_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_STRINGTEMPLATE_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_STRINGTEMPLATE_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_STRINGTEMPLATE_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_STRINGTEMPLATE_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         return conf;
diff --git a/connectors/camel-velocity-kafka-connector/src/main/docs/camel-velocity-kafka-sink-connector.adoc b/connectors/camel-velocity-kafka-connector/src/main/docs/camel-velocity-kafka-sink-connector.adoc
index 964febd..97601b0 100644
--- a/connectors/camel-velocity-kafka-connector/src/main/docs/camel-velocity-kafka-sink-connector.adoc
+++ b/connectors/camel-velocity-kafka-connector/src/main/docs/camel-velocity-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-velocity-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-velocity sink connector supports 11 options, which are listed below.
+The camel-velocity sink connector supports 13 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-velocity sink connector supports 11 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.encoding* | Character encoding of the resource content. | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
@@ -30,6 +31,7 @@ The camel-velocity sink connector supports 11 options, which are listed below.
 | *camel.sink.endpoint.propertiesFile* | The URI of the properties file which is used for VelocityEngine initialization. | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.velocity.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.velocity.lazyStartProducer* | 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 the [...]
 | *camel.component.velocity.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.velocity.velocityEngine* | To use the VelocityEngine otherwise a new engine is created | null | MEDIUM
diff --git a/connectors/camel-velocity-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/velocity/CamelVelocitySinkConnectorConfig.java b/connectors/camel-velocity-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/velocity/CamelVelocitySinkConnectorConfig.java
index e6ccf6d..2ff5e64 100644
--- a/connectors/camel-velocity-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/velocity/CamelVelocitySinkConnectorConfig.java
+++ b/connectors/camel-velocity-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/velocity/CamelVelocitySinkConnectorConfig.java
@@ -29,6 +29,9 @@ public class CamelVelocitySinkConnectorConfig
     public static final String CAMEL_SINK_VELOCITY_PATH_RESOURCE_URI_CONF = "camel.sink.path.resourceUri";
     public static final String CAMEL_SINK_VELOCITY_PATH_RESOURCE_URI_DOC = "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod.";
     public static final String CAMEL_SINK_VELOCITY_PATH_RESOURCE_URI_DEFAULT = null;
+    public static final String CAMEL_SINK_VELOCITY_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.sink.endpoint.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_VELOCITY_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_VELOCITY_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_VELOCITY_ENDPOINT_CONTENT_CACHE_CONF = "camel.sink.endpoint.contentCache";
     public static final String CAMEL_SINK_VELOCITY_ENDPOINT_CONTENT_CACHE_DOC = "Sets whether to use resource content cache or not";
     public static final Boolean CAMEL_SINK_VELOCITY_ENDPOINT_CONTENT_CACHE_DEFAULT = false;
@@ -50,6 +53,9 @@ public class CamelVelocitySinkConnectorConfig
     public static final String CAMEL_SINK_VELOCITY_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
     public static final String CAMEL_SINK_VELOCITY_ENDPOINT_SYNCHRONOUS_DOC = "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).";
     public static final Boolean CAMEL_SINK_VELOCITY_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_VELOCITY_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF = "camel.component.velocity.allowTemplateFromHeader";
+    public static final String CAMEL_SINK_VELOCITY_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC = "Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care.";
+    public static final Boolean CAMEL_SINK_VELOCITY_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT = false;
     public static final String CAMEL_SINK_VELOCITY_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.velocity.lazyStartProducer";
     public static final String CAMEL_SINK_VELOCITY_COMPONENT_LAZY_START_PRODUCER_DOC = "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  [...]
     public static final Boolean CAMEL_SINK_VELOCITY_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -73,6 +79,7 @@ public class CamelVelocitySinkConnectorConfig
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_VELOCITY_PATH_RESOURCE_URI_CONF, ConfigDef.Type.STRING, CAMEL_SINK_VELOCITY_PATH_RESOURCE_URI_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_VELOCITY_PATH_RESOURCE_URI_DOC);
+        conf.define(CAMEL_SINK_VELOCITY_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_VELOCITY_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_ENDPOINT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_VELOCITY_ENDPOINT_CONTENT_CACHE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_VELOCITY_ENDPOINT_CONTENT_CACHE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_ENDPOINT_CONTENT_CACHE_DOC);
         conf.define(CAMEL_SINK_VELOCITY_ENDPOINT_ENCODING_CONF, ConfigDef.Type.STRING, CAMEL_SINK_VELOCITY_ENDPOINT_ENCODING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_ENDPOINT_ENCODING_DOC);
         conf.define(CAMEL_SINK_VELOCITY_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_VELOCITY_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_ENDPOINT_LAZY_START_PRODUCER_DOC);
@@ -80,6 +87,7 @@ public class CamelVelocitySinkConnectorConfig
         conf.define(CAMEL_SINK_VELOCITY_ENDPOINT_PROPERTIES_FILE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_VELOCITY_ENDPOINT_PROPERTIES_FILE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_ENDPOINT_PROPERTIES_FILE_DOC);
         conf.define(CAMEL_SINK_VELOCITY_ENDPOINT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_VELOCITY_ENDPOINT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_ENDPOINT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_VELOCITY_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_VELOCITY_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_VELOCITY_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_VELOCITY_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_COMPONENT_ALLOW_TEMPLATE_FROM_HEADER_DOC);
         conf.define(CAMEL_SINK_VELOCITY_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_VELOCITY_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_VELOCITY_COMPONENT_BASIC_PROPERTY_BINDING_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_VELOCITY_COMPONENT_BASIC_PROPERTY_BINDING_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_COMPONENT_BASIC_PROPERTY_BINDING_DOC);
         conf.define(CAMEL_SINK_VELOCITY_COMPONENT_VELOCITY_ENGINE_CONF, ConfigDef.Type.STRING, CAMEL_SINK_VELOCITY_COMPONENT_VELOCITY_ENGINE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_VELOCITY_COMPONENT_VELOCITY_ENGINE_DOC);
diff --git a/connectors/pom.xml b/connectors/pom.xml
index bfc329d..dc4619e 100644
--- a/connectors/pom.xml
+++ b/connectors/pom.xml
@@ -206,6 +206,8 @@
         <module>camel-aws2-translate-kafka-connector</module>
         <module>camel-azure-blob-kafka-connector</module>
         <module>camel-azure-queue-kafka-connector</module>
+        <module>camel-azure-storage-blob-kafka-connector</module>
+        <module>camel-azure-storage-queue-kafka-connector</module>
         <module>camel-bean-kafka-connector</module>
         <module>camel-bean-validator-kafka-connector</module>
         <module>camel-beanstalk-kafka-connector</module>
@@ -249,6 +251,7 @@
         <module>camel-direct-vm-kafka-connector</module>
         <module>camel-disruptor-kafka-connector</module>
         <module>camel-disruptor-vm-kafka-connector</module>
+        <module>camel-djl-kafka-connector</module>
         <module>camel-dns-kafka-connector</module>
         <module>camel-docker-kafka-connector</module>
         <module>camel-dozer-kafka-connector</module>
@@ -445,6 +448,7 @@
         <module>camel-solrs-kafka-connector</module>
         <module>camel-soroush-kafka-connector</module>
         <module>camel-spark-kafka-connector</module>
+        <module>camel-splunk-hec-kafka-connector</module>
         <module>camel-splunk-kafka-connector</module>
         <module>camel-spring-batch-kafka-connector</module>
         <module>camel-spring-event-kafka-connector</module>
@@ -459,8 +463,8 @@
         <module>camel-stomp-kafka-connector</module>
         <module>camel-stream-kafka-connector</module>
         <module>camel-string-template-kafka-connector</module>
-        <module>camel-syslog-kafka-connector</module>
         <module>camel-stub-kafka-connector</module>
+        <module>camel-syslog-kafka-connector</module>
         <module>camel-telegram-kafka-connector</module>
         <module>camel-thrift-kafka-connector</module>
         <module>camel-tika-kafka-connector</module>
diff --git a/docs/modules/ROOT/pages/connectors.adoc b/docs/modules/ROOT/pages/connectors.adoc
index e1fbe13..5295e74 100644
--- a/docs/modules/ROOT/pages/connectors.adoc
+++ b/docs/modules/ROOT/pages/connectors.adoc
@@ -2,7 +2,7 @@
 = Supported connectors and documentation
 
 // kafka-connectors list: START
-Number of Camel Kafka connectors: 346 
+Number of Camel Kafka connectors: 350 
 
 [width="100%",cols="6,1,1,1,1",options="header"]
 |===
@@ -65,6 +65,8 @@ Number of Camel Kafka connectors: 346
 | *camel-aws2-translate-kafka-connector* | true | false | xref:connectors/camel-aws2-translate-kafka-sink-connector.adoc[Sink Docs] | 
 | *camel-azure-blob-kafka-connector* | true | true | xref:connectors/camel-azure-blob-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-azure-blob-kafka-source-connector.adoc[Source Docs]
 | *camel-azure-queue-kafka-connector* | true | true | xref:connectors/camel-azure-queue-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-azure-queue-kafka-source-connector.adoc[Source Docs]
+| *camel-azure-storage-blob-kafka-connector* | true | true | xref:connectors/camel-azure-storage-blob-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-azure-storage-blob-kafka-source-connector.adoc[Source Docs]
+| *camel-azure-storage-queue-kafka-connector* | true | true | xref:connectors/camel-azure-storage-queue-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-azure-storage-queue-kafka-source-connector.adoc[Source Docs]
 | *camel-bean-kafka-connector* | true | false | xref:connectors/camel-bean-kafka-sink-connector.adoc[Sink Docs] | 
 | *camel-bean-validator-kafka-connector* | true | false | xref:connectors/camel-bean-validator-kafka-sink-connector.adoc[Sink Docs] | 
 | *camel-beanstalk-kafka-connector* | true | true | xref:connectors/camel-beanstalk-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-beanstalk-kafka-source-connector.adoc[Source Docs]
@@ -108,6 +110,7 @@ Number of Camel Kafka connectors: 346
 | *camel-direct-vm-kafka-connector* | true | true | xref:connectors/camel-direct-vm-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-direct-vm-kafka-source-connector.adoc[Source Docs]
 | *camel-disruptor-kafka-connector* | true | true | xref:connectors/camel-disruptor-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-disruptor-kafka-source-connector.adoc[Source Docs]
 | *camel-disruptor-vm-kafka-connector* | true | true | xref:connectors/camel-disruptor-vm-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-disruptor-vm-kafka-source-connector.adoc[Source Docs]
+| *camel-djl-kafka-connector* | true | false | xref:connectors/camel-djl-kafka-sink-connector.adoc[Sink Docs] | 
 | *camel-dns-kafka-connector* | true | false | xref:connectors/camel-dns-kafka-sink-connector.adoc[Sink Docs] | 
 | *camel-docker-kafka-connector* | true | true | xref:connectors/camel-docker-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-docker-kafka-source-connector.adoc[Source Docs]
 | *camel-dozer-kafka-connector* | true | false | xref:connectors/camel-dozer-kafka-sink-connector.adoc[Sink Docs] | 
@@ -304,6 +307,7 @@ Number of Camel Kafka connectors: 346
 | *camel-solrs-kafka-connector* | true | false | xref:connectors/camel-solrs-kafka-sink-connector.adoc[Sink Docs] | 
 | *camel-soroush-kafka-connector* | true | true | xref:connectors/camel-soroush-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-soroush-kafka-source-connector.adoc[Source Docs]
 | *camel-spark-kafka-connector* | true | false | xref:connectors/camel-spark-kafka-sink-connector.adoc[Sink Docs] | 
+| *camel-splunk-hec-kafka-connector* | true | false | xref:connectors/camel-splunk-hec-kafka-sink-connector.adoc[Sink Docs] | 
 | *camel-splunk-kafka-connector* | true | true | xref:connectors/camel-splunk-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-splunk-kafka-source-connector.adoc[Source Docs]
 | *camel-spring-batch-kafka-connector* | true | false | xref:connectors/camel-spring-batch-kafka-sink-connector.adoc[Sink Docs] | 
 | *camel-spring-event-kafka-connector* | true | true | xref:connectors/camel-spring-event-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-spring-event-kafka-source-connector.adoc[Source Docs]
diff --git a/docs/modules/ROOT/pages/connectors/camel-activemq-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-activemq-kafka-sink-connector.adoc
index 28a3ffd..6a93bc2 100644
--- a/docs/modules/ROOT/pages/connectors/camel-activemq-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-activemq-kafka-sink-connector.adoc
@@ -92,16 +92,14 @@ The camel-activemq sink connector supports 145 options, which are listed below.
 | *camel.sink.endpoint.transactionManager* | The Spring transaction manager to use. | null | MEDIUM
 | *camel.sink.endpoint.transactionName* | The name of the transaction to use. | null | MEDIUM
 | *camel.sink.endpoint.transactionTimeout* | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | MEDIUM
-| *camel.component.activemq.brokerURL* | Sets the broker URL to use to connect to ActiveMQ | null | MEDIUM
+| *camel.component.activemq.brokerURL* | Sets the broker URL to use to connect to ActiveMQ. If none configured then localhost:61616 is used by default (however can be overridden by configuration from environment variables) | null | MEDIUM
 | *camel.component.activemq.clientId* | Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. | null | MEDIUM
-| *camel.component.activemq.configuration* | Configuration of ActiveMQ | null | MEDIUM
 | *camel.component.activemq.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | MEDIUM
 | *camel.component.activemq.disableReplyTo* | Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between differen [...]
 | *camel.component.activemq.durableSubscriptionName* | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. | null | MEDIUM
 | *camel.component.activemq.jmsMessageType* | Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. One of: [Bytes] [Map] [Object] [Stream] [Text] | null | MEDIUM
 | *camel.component.activemq.testConnectionOnStartup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | MEDIUM
-| *camel.component.activemq.trustAllPackages* | Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care. | false | MEDIUM
-| *camel.component.activemq.usePooledConnection* | Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true. | false | MEDIUM
+| *camel.component.activemq.usePooledConnection* | Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true. | true | MEDIUM
 | *camel.component.activemq.useSingleConnection* | Enables or disables whether a Spring SingleConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is false and a pooled connection is used by default. | false | MEDIUM
 | *camel.component.activemq.deliveryDelay* | Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker. | -1L | MEDIUM
 | *camel.component.activemq.deliveryMode* | Specifies the delivery mode to be used. Possibles values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. One of: [1] [2] | null | MEDIUM
@@ -135,6 +133,7 @@ The camel-activemq sink connector supports 145 options, which are listed below.
 | *camel.component.activemq.asyncStartListener* | Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this optio [...]
 | *camel.component.activemq.asyncStopListener* | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | MEDIUM
 | *camel.component.activemq.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.activemq.configuration* | To use a shared JMS configuration | null | MEDIUM
 | *camel.component.activemq.destinationResolver* | A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry). | null | MEDIUM
 | *camel.component.activemq.errorHandler* | Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom [...]
 | *camel.component.activemq.exceptionListener* | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. | null | MEDIUM
@@ -156,6 +155,7 @@ The camel-activemq sink connector supports 145 options, which are listed below.
 | *camel.component.activemq.requestTimeoutChecker Interval* | Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout. | 1000L | MEDIUM
 | *camel.component.activemq.transferException* | If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a javax.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this optio [...]
 | *camel.component.activemq.transferExchange* | You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the pa [...]
+| *camel.component.activemq.trustAllPackages* | Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care. | false | MEDIUM
 | *camel.component.activemq.useMessageIDAs CorrelationID* | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | MEDIUM
 | *camel.component.activemq.waitForProvision CorrelationToBeUpdatedCounter* | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | MEDIUM
 | *camel.component.activemq.waitForProvision CorrelationToBeUpdatedThreadSleepingTime* | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100L | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-activemq-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-activemq-kafka-source-connector.adoc
index 98a67ac..82c1d1c 100644
--- a/docs/modules/ROOT/pages/connectors/camel-activemq-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-activemq-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-activemq-kafka-connector as source make sure to use the followi
 ----
 
 
-The camel-activemq source connector supports 146 options, which are listed below.
+The camel-activemq source connector supports 145 options, which are listed below.
 
 
 
@@ -93,21 +93,18 @@ The camel-activemq source connector supports 146 options, which are listed below
 | *camel.source.endpoint.transactionManager* | The Spring transaction manager to use. | null | MEDIUM
 | *camel.source.endpoint.transactionName* | The name of the transaction to use. | null | MEDIUM
 | *camel.source.endpoint.transactionTimeout* | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | MEDIUM
-| *camel.component.activemq.brokerURL* | Sets the broker URL to use to connect to ActiveMQ | null | MEDIUM
+| *camel.component.activemq.brokerURL* | Sets the broker URL to use to connect to ActiveMQ. If none configured then localhost:61616 is used by default (however can be overridden by configuration from environment variables) | null | MEDIUM
 | *camel.component.activemq.clientId* | Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. | null | MEDIUM
-| *camel.component.activemq.configuration* | Configuration of ActiveMQ | null | MEDIUM
 | *camel.component.activemq.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | MEDIUM
 | *camel.component.activemq.disableReplyTo* | Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between differen [...]
 | *camel.component.activemq.durableSubscriptionName* | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. | null | MEDIUM
 | *camel.component.activemq.jmsMessageType* | Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. One of: [Bytes] [Map] [Object] [Stream] [Text] | null | MEDIUM
 | *camel.component.activemq.testConnectionOnStartup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | MEDIUM
-| *camel.component.activemq.trustAllPackages* | Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care. | false | MEDIUM
-| *camel.component.activemq.usePooledConnection* | Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true. | false | MEDIUM
+| *camel.component.activemq.usePooledConnection* | Enables or disables whether a PooledConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is true. | true | MEDIUM
 | *camel.component.activemq.useSingleConnection* | Enables or disables whether a Spring SingleConnectionFactory will be used so that when messages are sent to ActiveMQ from outside of a message consuming thread, pooling will be used rather than the default with the Spring JmsTemplate which will create a new connection, session, producer for each message then close them all down again. The default value is false and a pooled connection is used by default. | false | MEDIUM
 | *camel.component.activemq.acknowledgementModeName* | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE One of: [SESSION_TRANSACTED] [CLIENT_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [DUPS_OK_ACKNOWLEDGE] | "AUTO_ACKNOWLEDGE" | MEDIUM
 | *camel.component.activemq.asyncConsumer* | Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. N [...]
 | *camel.component.activemq.autoStartup* | Specifies whether the consumer container should auto-startup. | true | MEDIUM
-| *camel.component.activemq.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.activemq.cacheLevel* | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. | null | MEDIUM
 | *camel.component.activemq.cacheLevelName* | Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information. One of: [CACHE_AUTO] [CACHE_CONNECTION] [CACHE_CONSUMER] [CACHE_NONE] [CACHE_SESSION] | "CACHE_AUTO" | MEDIUM
 | *camel.component.activemq.concurrentConsumers* | Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. | 1 | MEDIUM
@@ -134,6 +131,7 @@ The camel-activemq source connector supports 146 options, which are listed below
 | *camel.component.activemq.asyncStartListener* | Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this optio [...]
 | *camel.component.activemq.asyncStopListener* | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | MEDIUM
 | *camel.component.activemq.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.activemq.configuration* | To use a shared JMS configuration | null | MEDIUM
 | *camel.component.activemq.destinationResolver* | A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry). | null | MEDIUM
 | *camel.component.activemq.errorHandler* | Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom [...]
 | *camel.component.activemq.exceptionListener* | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. | null | MEDIUM
@@ -155,6 +153,7 @@ The camel-activemq source connector supports 146 options, which are listed below
 | *camel.component.activemq.requestTimeoutChecker Interval* | Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout. | 1000L | MEDIUM
 | *camel.component.activemq.transferException* | If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a javax.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this optio [...]
 | *camel.component.activemq.transferExchange* | You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the pa [...]
+| *camel.component.activemq.trustAllPackages* | Define if all Java packages are trusted or not (for Java object JMS message types). Notice its not recommended practice to send Java serialized objects over network. Setting this to true can expose security risks, so use this with care. | false | MEDIUM
 | *camel.component.activemq.useMessageIDAs CorrelationID* | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | MEDIUM
 | *camel.component.activemq.waitForProvision CorrelationToBeUpdatedCounter* | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | MEDIUM
 | *camel.component.activemq.waitForProvision CorrelationToBeUpdatedThreadSleepingTime* | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100L | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-amqp-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-amqp-kafka-sink-connector.adoc
index 8de2676..29b709c 100644
--- a/docs/modules/ROOT/pages/connectors/camel-amqp-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-amqp-kafka-sink-connector.adoc
@@ -96,7 +96,7 @@ The camel-amqp sink connector supports 142 options, which are listed below.
 | *camel.component.amqp.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | MEDIUM
 | *camel.component.amqp.disableReplyTo* | Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different me [...]
 | *camel.component.amqp.durableSubscriptionName* | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. | null | MEDIUM
-| *camel.component.amqp.includeAmqpAnnotations* | Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true will map AMQP message annotations to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored. | false | MEDIUM
+| *camel.component.amqp.includeAmqpAnnotations* | Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true maps AMQP message annotations that contain a JMS_AMQP_MA_ prefix to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored. | false | MEDIUM
 | *camel.component.amqp.jmsMessageType* | Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. One of: [Bytes] [Map] [Object] [Stream] [Text] | null | MEDIUM
 | *camel.component.amqp.testConnectionOnStartup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | MEDIUM
 | *camel.component.amqp.deliveryDelay* | Sets delivery delay to use for send calls for JMS. This option requires JMS 2.0 compliant broker. | -1L | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-amqp-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-amqp-kafka-source-connector.adoc
index 66ec3fb..4a3e783 100644
--- a/docs/modules/ROOT/pages/connectors/camel-amqp-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-amqp-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-amqp-kafka-connector as source make sure to use the following M
 ----
 
 
-The camel-amqp source connector supports 143 options, which are listed below.
+The camel-amqp source connector supports 142 options, which are listed below.
 
 
 
@@ -97,13 +97,12 @@ The camel-amqp source connector supports 143 options, which are listed below.
 | *camel.component.amqp.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | MEDIUM
 | *camel.component.amqp.disableReplyTo* | Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different me [...]
 | *camel.component.amqp.durableSubscriptionName* | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. | null | MEDIUM
-| *camel.component.amqp.includeAmqpAnnotations* | Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true will map AMQP message annotations to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored. | false | MEDIUM
+| *camel.component.amqp.includeAmqpAnnotations* | Whether to include AMQP annotations when mapping from AMQP to Camel Message. Setting this to true maps AMQP message annotations that contain a JMS_AMQP_MA_ prefix to message headers. Due to limitations in Apache Qpid JMS API, currently delivery annotations are ignored. | false | MEDIUM
 | *camel.component.amqp.jmsMessageType* | Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. One of: [Bytes] [Map] [Object] [Stream] [Text] | null | MEDIUM
 | *camel.component.amqp.testConnectionOnStartup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | MEDIUM
 | *camel.component.amqp.acknowledgementModeName* | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE One of: [SESSION_TRANSACTED] [CLIENT_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [DUPS_OK_ACKNOWLEDGE] | "AUTO_ACKNOWLEDGE" | MEDIUM
 | *camel.component.amqp.asyncConsumer* | Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note  [...]
 | *camel.component.amqp.autoStartup* | Specifies whether the consumer container should auto-startup. | true | MEDIUM
-| *camel.component.amqp.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.amqp.cacheLevel* | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. | null | MEDIUM
 | *camel.component.amqp.cacheLevelName* | Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information. One of: [CACHE_AUTO] [CACHE_CONNECTION] [CACHE_CONSUMER] [CACHE_NONE] [CACHE_SESSION] | "CACHE_AUTO" | MEDIUM
 | *camel.component.amqp.concurrentConsumers* | Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. | 1 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-atom-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-atom-kafka-source-connector.adoc
index 3a4e5e9..ac497f2 100644
--- a/docs/modules/ROOT/pages/connectors/camel-atom-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-atom-kafka-source-connector.adoc
@@ -31,7 +31,7 @@ The camel-atom source connector supports 32 options, which are listed below.
 | *camel.source.endpoint.sendEmptyMessageWhenIdle* | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | MEDIUM
 | *camel.source.endpoint.sortEntries* | Sets whether to sort entries by published date. Only works when splitEntries = true. | false | MEDIUM
 | *camel.source.endpoint.splitEntries* | Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message | true | MEDIUM
-| *camel.source.endpoint.throttleEntries* | Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries = true. | true | MEDIUM
+| *camel.source.endpoint.throttleEntries* | Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true. | true | MEDIUM
 | *camel.source.endpoint.username* | Sets the username to be used for basic authentication when polling from a HTTP feed. | null | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
 | *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws-s3-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws-s3-kafka-sink-connector.adoc
index 9fdd5f7..8082861 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws-s3-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws-s3-kafka-sink-connector.adoc
@@ -28,7 +28,7 @@ The camel-aws-s3 sink connector supports 63 options, which are listed below.
 | *camel.sink.endpoint.endpointConfiguration* | Amazon AWS Endpoint Configuration | null | MEDIUM
 | *camel.sink.endpoint.pathStyleAccess* | Whether or not the S3 client should use path style access | false | MEDIUM
 | *camel.sink.endpoint.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
-| *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
+| *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the S3 client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the S3 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.sink.endpoint.region* | The region in which S3 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
@@ -60,7 +60,7 @@ The camel-aws-s3 sink connector supports 63 options, which are listed below.
 | *camel.component.aws-s3.endpointConfiguration* | Amazon AWS Endpoint Configuration | null | MEDIUM
 | *camel.component.aws-s3.pathStyleAccess* | Whether or not the S3 client should use path style access | false | MEDIUM
 | *camel.component.aws-s3.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
-| *camel.component.aws-s3.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
+| *camel.component.aws-s3.proxyHost* | To define a proxy host when instantiating the S3 client | null | MEDIUM
 | *camel.component.aws-s3.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
 | *camel.component.aws-s3.proxyProtocol* | To define a proxy protocol when instantiating the S3 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.component.aws-s3.region* | The region in which S3 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws-s3-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws-s3-kafka-source-connector.adoc
index 91d41a7..b59fbad 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws-s3-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws-s3-kafka-source-connector.adoc
@@ -28,7 +28,7 @@ The camel-aws-s3 source connector supports 77 options, which are listed below.
 | *camel.source.endpoint.endpointConfiguration* | Amazon AWS Endpoint Configuration | null | MEDIUM
 | *camel.source.endpoint.pathStyleAccess* | Whether or not the S3 client should use path style access | false | MEDIUM
 | *camel.source.endpoint.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
-| *camel.source.endpoint.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
+| *camel.source.endpoint.proxyHost* | To define a proxy host when instantiating the S3 client | null | MEDIUM
 | *camel.source.endpoint.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
 | *camel.source.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the S3 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.source.endpoint.region* | The region in which S3 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
@@ -77,7 +77,7 @@ The camel-aws-s3 source connector supports 77 options, which are listed below.
 | *camel.component.aws-s3.endpointConfiguration* | Amazon AWS Endpoint Configuration | null | MEDIUM
 | *camel.component.aws-s3.pathStyleAccess* | Whether or not the S3 client should use path style access | false | MEDIUM
 | *camel.component.aws-s3.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
-| *camel.component.aws-s3.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
+| *camel.component.aws-s3.proxyHost* | To define a proxy host when instantiating the S3 client | null | MEDIUM
 | *camel.component.aws-s3.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
 | *camel.component.aws-s3.proxyProtocol* | To define a proxy protocol when instantiating the S3 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.component.aws-s3.region* | The region in which S3 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-ec2-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-ec2-kafka-sink-connector.adoc
index 2d3900a..6cce97f 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-ec2-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-ec2-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-ec2-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-ec2 sink connector supports 23 options, which are listed below.
+The camel-aws2-ec2 sink connector supports 25 options, which are listed below.
 
 
 
@@ -27,10 +27,11 @@ The camel-aws2-ec2 sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.amazonEc2Client* | To use a existing configured AmazonEC2Client as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags One of: [createAndRunInstances] [startInstances] [stopInstances] [terminateInstances] [describeInstances] [describeInstancesStatus] [rebootInstances] [monitorInstances] [unmonitorInstances] [createTags] [deleteTags] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the EC2 client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the EC2 client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the EC2 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
-| *camel.sink.endpoint.region* | The region in which EC2 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
+| *camel.sink.endpoint.region* | The region in which EC2 client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.sink.endpoint.secretKey* | Amazon AWS Secret Key | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
@@ -39,10 +40,11 @@ The camel-aws2-ec2 sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-ec2.configuration* | The component configuration | null | MEDIUM
 | *camel.component.aws2-ec2.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-ec2.operation* | The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags One of: [createAndRunInstances] [startInstances] [stopInstances] [terminateInstances] [describeInstances] [describeInstancesStatus] [rebootInstances] [monitorInstances] [unmonitorInstances] [createTags] [deleteTags] | [...]
+| *camel.component.aws2-ec2.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-ec2.proxyHost* | To define a proxy host when instantiating the EC2 client | null | MEDIUM
 | *camel.component.aws2-ec2.proxyPort* | To define a proxy port when instantiating the EC2 client | null | MEDIUM
 | *camel.component.aws2-ec2.proxyProtocol* | To define a proxy protocol when instantiating the EC2 client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
-| *camel.component.aws2-ec2.region* | The region in which EC2 client needs to work. When using this parameter, the configuration will expect the capitalized name of the region (for example AP_EAST_1) You'll need to use the name Regions.EU_WEST_1.name() | null | MEDIUM
+| *camel.component.aws2-ec2.region* | The region in which EC2 client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.component.aws2-ec2.secretKey* | Amazon AWS Secret Key | null | MEDIUM
 | *camel.component.aws2-ec2.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 |===
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-ecs-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-ecs-kafka-sink-connector.adoc
index 8998133..37cc657 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-ecs-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-ecs-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-ecs-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-ecs sink connector supports 23 options, which are listed below.
+The camel-aws2-ecs sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-ecs sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.ecsClient* | To use a existing configured AWS ECS as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the ECS client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the ECS client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the ECS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-ecs sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-ecs.ecsClient* | To use a existing configured AWS ECS as client | null | MEDIUM
 | *camel.component.aws2-ecs.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-ecs.operation* | The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster] | null | HIGH
+| *camel.component.aws2-ecs.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-ecs.proxyHost* | To define a proxy host when instantiating the ECS client | null | MEDIUM
 | *camel.component.aws2-ecs.proxyPort* | To define a proxy port when instantiating the ECS client | null | MEDIUM
 | *camel.component.aws2-ecs.proxyProtocol* | To define a proxy protocol when instantiating the ECS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-eks-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-eks-kafka-sink-connector.adoc
index 8c4c59f..ca1cd64 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-eks-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-eks-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-eks-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-eks sink connector supports 23 options, which are listed below.
+The camel-aws2-eks sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-eks sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.eksClient* | To use a existing configured AWS EKS as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the EKS client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the EKS client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the EKS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-eks sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-eks.eksClient* | To use a existing configured AWS EKS as client | null | MEDIUM
 | *camel.component.aws2-eks.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-eks.operation* | The operation to perform One of: [listClusters] [describeCluster] [createCluster] [deleteCluster] | null | HIGH
+| *camel.component.aws2-eks.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-eks.proxyHost* | To define a proxy host when instantiating the EKS client | null | MEDIUM
 | *camel.component.aws2-eks.proxyPort* | To define a proxy port when instantiating the EKS client | null | MEDIUM
 | *camel.component.aws2-eks.proxyProtocol* | To define a proxy protocol when instantiating the EKS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-iam-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-iam-kafka-sink-connector.adoc
index 0146931..61eb679 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-iam-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-iam-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-iam-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-iam sink connector supports 23 options, which are listed below.
+The camel-aws2-iam sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-iam sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.iamClient* | To use a existing configured AWS IAM as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform One of: [listAccessKeys] [createUser] [deleteUser] [getUser] [listUsers] [createAccessKey] [deleteAccessKey] [updateAccessKey] [createGroup] [deleteGroup] [listGroups] [addUserToGroup] [removeUserFromGroup] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the IAM client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the IAM client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the IAM client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-iam sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-iam.iamClient* | To use a existing configured AWS IAM as client | null | MEDIUM
 | *camel.component.aws2-iam.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-iam.operation* | The operation to perform One of: [listAccessKeys] [createUser] [deleteUser] [getUser] [listUsers] [createAccessKey] [deleteAccessKey] [updateAccessKey] [createGroup] [deleteGroup] [listGroups] [addUserToGroup] [removeUserFromGroup] | null | HIGH
+| *camel.component.aws2-iam.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-iam.proxyHost* | To define a proxy host when instantiating the IAM client | null | MEDIUM
 | *camel.component.aws2-iam.proxyPort* | To define a proxy port when instantiating the IAM client | null | MEDIUM
 | *camel.component.aws2-iam.proxyProtocol* | To define a proxy protocol when instantiating the IAM client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-kms-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-kms-kafka-sink-connector.adoc
index 931fbf0..7fe15c9 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-kms-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-kms-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-kms-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-kms sink connector supports 23 options, which are listed below.
+The camel-aws2-kms sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-kms sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.kmsClient* | To use a existing configured AWS KMS as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform One of: [listKeys] [createKey] [disableKey] [scheduleKeyDeletion] [describeKey] [enableKey] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the KMS client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the KMS client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the KMS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-kms sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-kms.kmsClient* | To use a existing configured AWS KMS as client | null | MEDIUM
 | *camel.component.aws2-kms.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-kms.operation* | The operation to perform One of: [listKeys] [createKey] [disableKey] [scheduleKeyDeletion] [describeKey] [enableKey] | null | HIGH
+| *camel.component.aws2-kms.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-kms.proxyHost* | To define a proxy host when instantiating the KMS client | null | MEDIUM
 | *camel.component.aws2-kms.proxyPort* | To define a proxy port when instantiating the KMS client | null | MEDIUM
 | *camel.component.aws2-kms.proxyProtocol* | To define a proxy protocol when instantiating the KMS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-lambda-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-lambda-kafka-sink-connector.adoc
index ff2d992..f14b2c3 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-lambda-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-lambda-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-lambda-kafka-connector as sink make sure to use the follow
 ----
 
 
-The camel-aws2-lambda sink connector supports 23 options, which are listed below.
+The camel-aws2-lambda sink connector supports 25 options, which are listed below.
 
 
 
@@ -25,6 +25,7 @@ The camel-aws2-lambda sink connector supports 23 options, which are listed below
 | *camel.sink.path.function* | Name of the Lambda function. | null | HIGH
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction One of: [listFunctions] [getFunction] [createAlias] [deleteAlias] [getAlias] [listAliases] [createFunction] [deleteFunction] [invokeFunction] [updateFunction] [createEventSourceMapping] [deleteEventSourceMapping] [listEventSourceMapping] [listTags] [tagResource] [untagResource] [publishVersion] [listVersions] | "invokeFunction" | MEDIUM
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.sink.endpoint.awsLambdaClient* | To use a existing configured AwsLambdaClient as client | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
@@ -37,6 +38,7 @@ The camel-aws2-lambda sink connector supports 23 options, which are listed below
 | *camel.component.aws2-lambda.configuration* | Component configuration | null | MEDIUM
 | *camel.component.aws2-lambda.lazyStartProducer* | 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  [...]
 | *camel.component.aws2-lambda.operation* | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction One of: [listFunctions] [getFunction] [createAlias] [deleteAlias] [getAlias] [listAliases] [createFunction] [deleteFunction] [invokeFunction] [updateFunction] [createEventSourceMapping] [deleteEventSourceMapping] [listEventSourceMapping] [listTags] [tagResource] [untagResource] [publishVersion] [listVersions] | "invokeFunction" | MEDIUM
+| *camel.component.aws2-lambda.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-lambda.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.component.aws2-lambda.awsLambdaClient* | To use a existing configured AwsLambdaClient as client | null | MEDIUM
 | *camel.component.aws2-lambda.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
@@ -46,6 +48,4 @@ The camel-aws2-lambda sink connector supports 23 options, which are listed below
 | *camel.component.aws2-lambda.accessKey* | Amazon AWS Access Key | null | MEDIUM
 | *camel.component.aws2-lambda.secretKey* | Amazon AWS Secret Key | null | MEDIUM
 |===
-
-
 // kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-mq-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-mq-kafka-sink-connector.adoc
index 28b9aec..1f3a108 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-mq-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-mq-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-mq-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-mq sink connector supports 23 options, which are listed below.
+The camel-aws2-mq sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-mq sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.amazonMqClient* | To use a existing configured AmazonMQClient as client | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform. It can be listBrokers,createBroker,deleteBroker One of: [listBrokers] [createBroker] [deleteBroker] [rebootBroker] [updateBroker] [describeBroker] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the MQ client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the MQ client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the MQ client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-mq sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-mq.configuration* | Component configuration | null | MEDIUM
 | *camel.component.aws2-mq.lazyStartProducer* | 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 [...]
 | *camel.component.aws2-mq.operation* | The operation to perform. It can be listBrokers,createBroker,deleteBroker One of: [listBrokers] [createBroker] [deleteBroker] [rebootBroker] [updateBroker] [describeBroker] | null | HIGH
+| *camel.component.aws2-mq.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-mq.proxyHost* | To define a proxy host when instantiating the MQ client | null | MEDIUM
 | *camel.component.aws2-mq.proxyPort* | To define a proxy port when instantiating the MQ client | null | MEDIUM
 | *camel.component.aws2-mq.proxyProtocol* | To define a proxy protocol when instantiating the MQ client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-msk-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-msk-kafka-sink-connector.adoc
index 41f2acc..c73f440 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-msk-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-msk-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-msk-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-msk sink connector supports 23 options, which are listed below.
+The camel-aws2-msk sink connector supports 25 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-msk sink connector supports 23 options, which are listed below.
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.mskClient* | To use a existing configured AWS MSK as client | null | MEDIUM
 | *camel.sink.endpoint.operation* | The operation to perform One of: [listClusters] [createCluster] [deleteCluster] [describeCluster] | null | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the MSK client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the MSK client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the MSK client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -38,6 +39,7 @@ The camel-aws2-msk sink connector supports 23 options, which are listed below.
 | *camel.component.aws2-msk.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-msk.mskClient* | To use a existing configured AWS MSK as client | null | MEDIUM
 | *camel.component.aws2-msk.operation* | The operation to perform One of: [listClusters] [createCluster] [deleteCluster] [describeCluster] | null | HIGH
+| *camel.component.aws2-msk.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-msk.proxyHost* | To define a proxy host when instantiating the MSK client | null | MEDIUM
 | *camel.component.aws2-msk.proxyPort* | To define a proxy port when instantiating the MSK client | null | MEDIUM
 | *camel.component.aws2-msk.proxyProtocol* | To define a proxy protocol when instantiating the MSK client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-s3-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-s3-kafka-sink-connector.adoc
index a30eaa7..f718fe4 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-s3-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-s3-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-s3-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-aws2-s3 sink connector supports 47 options, which are listed below.
+The camel-aws2-s3 sink connector supports 57 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-s3 sink connector supports 47 options, which are listed below.
 | *camel.sink.endpoint.amazonS3Client* | Reference to a com.amazonaws.services.s3.AmazonS3 in the registry. | null | MEDIUM
 | *camel.sink.endpoint.autoCreateBucket* | Setting the autocreation of the bucket | true | MEDIUM
 | *camel.sink.endpoint.overrideEndpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | MEDIUM
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
@@ -41,7 +42,11 @@ The camel-aws2-s3 sink connector supports 47 options, which are listed below.
 | *camel.sink.endpoint.partSize* | Setup the partSize which is used in multi part upload, the default size is 25M. | 26214400L | MEDIUM
 | *camel.sink.endpoint.storageClass* | The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request. | null | MEDIUM
 | *camel.sink.endpoint.awsKMSKeyId* | Define the id of KMS key to use in case KMS is enabled | null | MEDIUM
+| *camel.sink.endpoint.customerAlgorithm* | Define the customer algorithm to use in case CustomerKey is enabled | null | MEDIUM
+| *camel.sink.endpoint.customerKeyId* | Define the id of Customer key to use in case CustomerKey is enabled | null | MEDIUM
+| *camel.sink.endpoint.customerKeyMD5* | Define the MD5 of Customer key to use in case CustomerKey is enabled | null | MEDIUM
 | *camel.sink.endpoint.useAwsKMS* | Define if KMS must be used or not | false | MEDIUM
+| *camel.sink.endpoint.useCustomerKey* | Define if Customer Key must be used or not | false | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
 | *camel.sink.endpoint.accessKey* | Amazon AWS Access Key | null | MEDIUM
@@ -50,6 +55,7 @@ The camel-aws2-s3 sink connector supports 47 options, which are listed below.
 | *camel.component.aws2-s3.autoCreateBucket* | Setting the autocreation of the bucket | true | MEDIUM
 | *camel.component.aws2-s3.configuration* | The component configuration | null | MEDIUM
 | *camel.component.aws2-s3.overrideEndpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | MEDIUM
+| *camel.component.aws2-s3.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-s3.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
 | *camel.component.aws2-s3.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
 | *camel.component.aws2-s3.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
@@ -65,11 +71,13 @@ The camel-aws2-s3 sink connector supports 47 options, which are listed below.
 | *camel.component.aws2-s3.partSize* | Setup the partSize which is used in multi part upload, the default size is 25M. | 26214400L | MEDIUM
 | *camel.component.aws2-s3.storageClass* | The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request. | null | MEDIUM
 | *camel.component.aws2-s3.awsKMSKeyId* | Define the id of KMS key to use in case KMS is enabled | null | MEDIUM
+| *camel.component.aws2-s3.customerAlgorithm* | Define the customer algorithm to use in case CustomerKey is enabled | null | MEDIUM
+| *camel.component.aws2-s3.customerKeyId* | Define the id of Customer key to use in case CustomerKey is enabled | null | MEDIUM
+| *camel.component.aws2-s3.customerKeyMD5* | Define the MD5 of Customer key to use in case CustomerKey is enabled | null | MEDIUM
 | *camel.component.aws2-s3.useAwsKMS* | Define if KMS must be used or not | false | MEDIUM
+| *camel.component.aws2-s3.useCustomerKey* | Define if Customer Key must be used or not | false | MEDIUM
 | *camel.component.aws2-s3.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.aws2-s3.accessKey* | Amazon AWS Access Key | null | MEDIUM
 | *camel.component.aws2-s3.secretKey* | Amazon AWS Secret Key | null | MEDIUM
 |===
-
-
 // kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-s3-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-s3-kafka-source-connector.adoc
index 05524be..94665dc 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-s3-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-s3-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-s3-kafka-connector as source make sure to use the followin
 ----
 
 
-The camel-aws2-s3 source connector supports 63 options, which are listed below.
+The camel-aws2-s3 source connector supports 71 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-s3 source connector supports 63 options, which are listed below.
 | *camel.source.endpoint.amazonS3Client* | Reference to a com.amazonaws.services.s3.AmazonS3 in the registry. | null | MEDIUM
 | *camel.source.endpoint.autoCreateBucket* | Setting the autocreation of the bucket | true | MEDIUM
 | *camel.source.endpoint.overrideEndpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | MEDIUM
+| *camel.source.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.source.endpoint.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
 | *camel.source.endpoint.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
 | *camel.source.endpoint.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
@@ -36,10 +37,13 @@ The camel-aws2-s3 source connector supports 63 options, which are listed below.
 | *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.source.endpoint.deleteAfterRead* | Delete objects from S3 after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. Therefore you need to use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY headers, or only  [...]
 | *camel.source.endpoint.delimiter* | The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. | null | MEDIUM
+| *camel.source.endpoint.destinationBucket* | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | null | MEDIUM
 | *camel.source.endpoint.fileName* | To get the object from the bucket with the given file name | null | MEDIUM
 | *camel.source.endpoint.includeBody* | If it is true, the exchange body will be set to a stream to the contents of the file. If false, the headers will be set with the S3 object metadata, but the body will be null. This option is strongly related to autocloseBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | MEDIUM
+| *camel.source.endpoint.includeFolders* | If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those | true | MEDIUM
 | *camel.source.endpoint.maxConnections* | Set the maxConnections parameter in the S3 client configuration | 60 | MEDIUM
 | *camel.source.endpoint.maxMessagesPerPoll* | Gets the maximum number of messages as a limit to poll at each polling. Gets the maximum number of messages as a limit to poll at each polling. The default value is 10. Use 0 or a negative number to set it as unlimited. | 10 | MEDIUM
+| *camel.source.endpoint.moveAfterRead* | Move objects from S3 bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved. | false | MEDIUM
 | *camel.source.endpoint.prefix* | The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. | null | MEDIUM
 | *camel.source.endpoint.sendEmptyMessageWhenIdle* | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | MEDIUM
 | *camel.source.endpoint.autocloseBody* | If this option is true and includeBody is true, then the S3Object.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | MEDIUM
@@ -68,6 +72,7 @@ The camel-aws2-s3 source connector supports 63 options, which are listed below.
 | *camel.component.aws2-s3.autoCreateBucket* | Setting the autocreation of the bucket | true | MEDIUM
 | *camel.component.aws2-s3.configuration* | The component configuration | null | MEDIUM
 | *camel.component.aws2-s3.overrideEndpoint* | Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride option | false | MEDIUM
+| *camel.component.aws2-s3.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-s3.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. | null | MEDIUM
 | *camel.component.aws2-s3.proxyHost* | To define a proxy host when instantiating the SQS client | null | MEDIUM
 | *camel.component.aws2-s3.proxyPort* | Specify a proxy port to be used inside the client definition. | null | MEDIUM
@@ -78,14 +83,15 @@ The camel-aws2-s3 source connector supports 63 options, which are listed below.
 | *camel.component.aws2-s3.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.aws2-s3.deleteAfterRead* | Delete objects from S3 after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. Therefore you need to use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the AWS2S3Constants#BUCKET_NAME and AWS2S3Constants#KEY headers, or onl [...]
 | *camel.component.aws2-s3.delimiter* | The delimiter which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. | null | MEDIUM
+| *camel.component.aws2-s3.destinationBucket* | Define the destination bucket where an object must be moved when moveAfterRead is set to true. | null | MEDIUM
 | *camel.component.aws2-s3.fileName* | To get the object from the bucket with the given file name | null | MEDIUM
 | *camel.component.aws2-s3.includeBody* | If it is true, the exchange body will be set to a stream to the contents of the file. If false, the headers will be set with the S3 object metadata, but the body will be null. This option is strongly related to autocloseBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | MEDIUM
+| *camel.component.aws2-s3.includeFolders* | If it is true, the folders/directories will be consumed. If it is false, they will be ignored, and Exchanges will not be created for those | true | MEDIUM
+| *camel.component.aws2-s3.moveAfterRead* | Move objects from S3 bucket to a different bucket after they have been retrieved. To accomplish the operation the destinationBucket option must be set. The copy bucket operation is only performed if the Exchange is committed. If a rollback occurs, the object is not moved. | false | MEDIUM
 | *camel.component.aws2-s3.prefix* | The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. | null | MEDIUM
 | *camel.component.aws2-s3.autocloseBody* | If this option is true and includeBody is true, then the S3Object.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | MEDIUM
 | *camel.component.aws2-s3.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.aws2-s3.accessKey* | Amazon AWS Access Key | null | MEDIUM
 | *camel.component.aws2-s3.secretKey* | Amazon AWS Secret Key | null | MEDIUM
 |===
-
-
 // kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-sqs-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-sqs-kafka-sink-connector.adoc
index b33d5f2..d75a469 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-sqs-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-sqs-kafka-sink-connector.adoc
@@ -30,7 +30,7 @@ The camel-aws2-sqs sink connector supports 52 options, which are listed below.
 | *camel.sink.endpoint.protocol* | The underlying protocol used to communicate with SQS | "https" | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the SQS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.sink.endpoint.queueOwnerAWSAccountId* | Specify the queue owner aws account id when you need to connect the queue with different account owner. | null | MEDIUM
-| *camel.sink.endpoint.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
+| *camel.sink.endpoint.region* | The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.sink.endpoint.delaySeconds* | Delay sending messages for a number of seconds. | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.messageDeduplicationIdStrategy* | 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. One of: [useExchangeId] [useContentBasedDeduplication] | "useExchangeId" | MEDIUM
@@ -56,7 +56,7 @@ The camel-aws2-sqs sink connector supports 52 options, which are listed below.
 | *camel.component.aws2-sqs.protocol* | The underlying protocol used to communicate with SQS | "https" | MEDIUM
 | *camel.component.aws2-sqs.proxyProtocol* | To define a proxy protocol when instantiating the SQS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.component.aws2-sqs.queueOwnerAWSAccountId* | Specify the queue owner aws account id when you need to connect the queue with different account owner. | null | MEDIUM
-| *camel.component.aws2-sqs.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
+| *camel.component.aws2-sqs.region* | The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.component.aws2-sqs.delaySeconds* | Delay sending messages for a number of seconds. | null | MEDIUM
 | *camel.component.aws2-sqs.lazyStartProducer* | 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 the [...]
 | *camel.component.aws2-sqs.messageDeduplicationId Strategy* | 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. One of: [useExchangeId] [useContentBasedDeduplication] | "useExchangeId" | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-sqs-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-sqs-kafka-source-connector.adoc
index 675c7eb..592b923 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-sqs-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-sqs-kafka-source-connector.adoc
@@ -30,7 +30,7 @@ The camel-aws2-sqs source connector supports 87 options, which are listed below.
 | *camel.source.endpoint.protocol* | The underlying protocol used to communicate with SQS | "https" | MEDIUM
 | *camel.source.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the SQS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.source.endpoint.queueOwnerAWSAccountId* | Specify the queue owner aws account id when you need to connect the queue with different account owner. | null | MEDIUM
-| *camel.source.endpoint.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
+| *camel.source.endpoint.region* | The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.source.endpoint.attributeNames* | A list of attribute names to receive when consuming. Multiple names can be separated by comma. | null | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.source.endpoint.concurrentConsumers* | Allows you to use multiple threads to poll the sqs queue to increase throughput | 1 | MEDIUM
@@ -83,7 +83,7 @@ The camel-aws2-sqs source connector supports 87 options, which are listed below.
 | *camel.component.aws2-sqs.protocol* | The underlying protocol used to communicate with SQS | "https" | MEDIUM
 | *camel.component.aws2-sqs.proxyProtocol* | To define a proxy protocol when instantiating the SQS client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
 | *camel.component.aws2-sqs.queueOwnerAWSAccountId* | Specify the queue owner aws account id when you need to connect the queue with different account owner. | null | MEDIUM
-| *camel.component.aws2-sqs.region* | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
+| *camel.component.aws2-sqs.region* | The region in which SQS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() | null | MEDIUM
 | *camel.component.aws2-sqs.attributeNames* | A list of attribute names to receive when consuming. Multiple names can be separated by comma. | null | MEDIUM
 | *camel.component.aws2-sqs.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.aws2-sqs.concurrentConsumers* | Allows you to use multiple threads to poll the sqs queue to increase throughput | 1 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-aws2-translate-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-aws2-translate-kafka-sink-connector.adoc
index 5c8fc8d..a1208a0 100644
--- a/docs/modules/ROOT/pages/connectors/camel-aws2-translate-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-aws2-translate-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-aws2-translate-kafka-connector as sink make sure to use the fol
 ----
 
 
-The camel-aws2-translate sink connector supports 29 options, which are listed below.
+The camel-aws2-translate sink connector supports 31 options, which are listed below.
 
 
 
@@ -26,6 +26,7 @@ The camel-aws2-translate sink connector supports 29 options, which are listed be
 | *camel.sink.endpoint.autodetectSourceLanguage* | Being able to autodetect the source language | false | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.operation* | The operation to perform One of: [translateText] | "translateText" | HIGH
+| *camel.sink.endpoint.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.sink.endpoint.proxyHost* | To define a proxy host when instantiating the Translate client | null | MEDIUM
 | *camel.sink.endpoint.proxyPort* | To define a proxy port when instantiating the Translate client | null | MEDIUM
 | *camel.sink.endpoint.proxyProtocol* | To define a proxy protocol when instantiating the Translate client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
@@ -41,6 +42,7 @@ The camel-aws2-translate sink connector supports 29 options, which are listed be
 | *camel.component.aws2-translate.configuration* | Component configuration | null | MEDIUM
 | *camel.component.aws2-translate.lazyStartProducer* | 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 process [...]
 | *camel.component.aws2-translate.operation* | The operation to perform One of: [translateText] | "translateText" | HIGH
+| *camel.component.aws2-translate.pojoRequest* | If we want to use a POJO request as body or not | false | MEDIUM
 | *camel.component.aws2-translate.proxyHost* | To define a proxy host when instantiating the Translate client | null | MEDIUM
 | *camel.component.aws2-translate.proxyPort* | To define a proxy port when instantiating the Translate client | null | MEDIUM
 | *camel.component.aws2-translate.proxyProtocol* | To define a proxy protocol when instantiating the Translate client One of: [HTTP] [HTTPS] | "HTTPS" | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-blob-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-blob-kafka-sink-connector.adoc
index 447a431..f432405 100644
--- a/docs/modules/ROOT/pages/connectors/camel-azure-blob-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-blob-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-azure-blob-kafka-connector as sink make sure to use the followi
 ----
 
 
-The camel-azure-blob sink connector supports 41 options, which are listed below.
+The camel-azure-blob sink connector supports 43 options, which are listed below.
 
 
 
@@ -32,6 +32,7 @@ The camel-azure-blob sink connector supports 41 options, which are listed below.
 | *camel.sink.endpoint.fileDir* | Set the file directory where the downloaded blobs will be saved to | null | MEDIUM
 | *camel.sink.endpoint.publicForRead* | Storage resources can be public for reading their content, if this property is enabled then the credentials do not have to be set | false | MEDIUM
 | *camel.sink.endpoint.streamReadSize* | Set the minimum read size in bytes when reading the blob content | null | MEDIUM
+| *camel.sink.endpoint.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.sink.endpoint.blobMetadata* | Set the blob meta-data | null | MEDIUM
 | *camel.sink.endpoint.blobPrefix* | Set a prefix which can be used for listing the blobs | null | MEDIUM
 | *camel.sink.endpoint.closeStreamAfterWrite* | Close the stream after write or keep it open, default is true | true | MEDIUM
@@ -52,6 +53,7 @@ The camel-azure-blob sink connector supports 41 options, which are listed below.
 | *camel.component.azure-blob.fileDir* | Set the file directory where the downloaded blobs will be saved to | null | MEDIUM
 | *camel.component.azure-blob.publicForRead* | Storage resources can be public for reading their content, if this property is enabled then the credentials do not have to be set | false | MEDIUM
 | *camel.component.azure-blob.streamReadSize* | Set the minimum read size in bytes when reading the blob content | null | MEDIUM
+| *camel.component.azure-blob.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.component.azure-blob.blobMetadata* | Set the blob meta-data | null | MEDIUM
 | *camel.component.azure-blob.blobPrefix* | Set a prefix which can be used for listing the blobs | null | MEDIUM
 | *camel.component.azure-blob.closeStreamAfterWrite* | Close the stream after write or keep it open, default is true | true | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-blob-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-blob-kafka-source-connector.adoc
index 0669dda..41ac886 100644
--- a/docs/modules/ROOT/pages/connectors/camel-azure-blob-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-blob-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-azure-blob-kafka-connector as source make sure to use the follo
 ----
 
 
-The camel-azure-blob source connector supports 31 options, which are listed below.
+The camel-azure-blob source connector supports 33 options, which are listed below.
 
 
 
@@ -32,6 +32,7 @@ The camel-azure-blob source connector supports 31 options, which are listed belo
 | *camel.source.endpoint.fileDir* | Set the file directory where the downloaded blobs will be saved to | null | MEDIUM
 | *camel.source.endpoint.publicForRead* | Storage resources can be public for reading their content, if this property is enabled then the credentials do not have to be set | false | MEDIUM
 | *camel.source.endpoint.streamReadSize* | Set the minimum read size in bytes when reading the blob content | null | MEDIUM
+| *camel.source.endpoint.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
 | *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
@@ -48,6 +49,7 @@ The camel-azure-blob source connector supports 31 options, which are listed belo
 | *camel.component.azure-blob.fileDir* | Set the file directory where the downloaded blobs will be saved to | null | MEDIUM
 | *camel.component.azure-blob.publicForRead* | Storage resources can be public for reading their content, if this property is enabled then the credentials do not have to be set | false | MEDIUM
 | *camel.component.azure-blob.streamReadSize* | Set the minimum read size in bytes when reading the blob content | null | MEDIUM
+| *camel.component.azure-blob.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.component.azure-blob.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.azure-blob.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.azure-blob.configuration* | The Blob Service configuration | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-queue-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-queue-kafka-sink-connector.adoc
index 97b0e1d..09cbd70 100644
--- a/docs/modules/ROOT/pages/connectors/camel-azure-queue-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-queue-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-azure-queue-kafka-connector as sink make sure to use the follow
 ----
 
 
-The camel-azure-queue sink connector supports 23 options, which are listed below.
+The camel-azure-queue sink connector supports 25 options, which are listed below.
 
 
 
@@ -25,6 +25,7 @@ The camel-azure-queue sink connector supports 23 options, which are listed below
 | *camel.sink.path.containerAndQueueUri* | Container Queue compact Uri | null | HIGH
 | *camel.sink.endpoint.azureQueueClient* | The queue service client | null | MEDIUM
 | *camel.sink.endpoint.credentials* | Set the storage credentials, required in most cases | null | MEDIUM
+| *camel.sink.endpoint.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.messageTimeToLive* | Message Time To Live in seconds | null | MEDIUM
 | *camel.sink.endpoint.messageVisibilityDelay* | Message Visibility Delay in seconds | null | MEDIUM
@@ -36,6 +37,7 @@ The camel-azure-queue sink connector supports 23 options, which are listed below
 | *camel.sink.endpoint.credentialsAccountName* | Set the storage account name used during authentication phase | null | MEDIUM
 | *camel.component.azure-queue.azureQueueClient* | The queue service client | null | MEDIUM
 | *camel.component.azure-queue.credentials* | Set the storage credentials, required in most cases | null | MEDIUM
+| *camel.component.azure-queue.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.component.azure-queue.lazyStartProducer* | 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  [...]
 | *camel.component.azure-queue.messageTimeToLive* | Message Time To Live in seconds | null | MEDIUM
 | *camel.component.azure-queue.messageVisibilityDelay* | Message Visibility Delay in seconds | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-queue-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-queue-kafka-source-connector.adoc
index 200e386..c5f6429 100644
--- a/docs/modules/ROOT/pages/connectors/camel-azure-queue-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-queue-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-azure-queue-kafka-connector as source make sure to use the foll
 ----
 
 
-The camel-azure-queue source connector supports 17 options, which are listed below.
+The camel-azure-queue source connector supports 19 options, which are listed below.
 
 
 
@@ -25,6 +25,7 @@ The camel-azure-queue source connector supports 17 options, which are listed bel
 | *camel.source.path.containerAndQueueUri* | Container Queue compact Uri | null | HIGH
 | *camel.source.endpoint.azureQueueClient* | The queue service client | null | MEDIUM
 | *camel.source.endpoint.credentials* | Set the storage credentials, required in most cases | null | MEDIUM
+| *camel.source.endpoint.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
 | *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
@@ -34,6 +35,7 @@ The camel-azure-queue source connector supports 17 options, which are listed bel
 | *camel.source.endpoint.credentialsAccountName* | Set the storage account name used during authentication phase | null | MEDIUM
 | *camel.component.azure-queue.azureQueueClient* | The queue service client | null | MEDIUM
 | *camel.component.azure-queue.credentials* | Set the storage credentials, required in most cases | null | MEDIUM
+| *camel.component.azure-queue.validateClientURI* | Whether to validate the Azure client URI | true | MEDIUM
 | *camel.component.azure-queue.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.azure-queue.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.azure-queue.configuration* | The Queue Service configuration | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-storage-blob-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-storage-blob-kafka-sink-connector.adoc
new file mode 100644
index 0000000..66baf67
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-storage-blob-kafka-sink-connector.adoc
@@ -0,0 +1,61 @@
+// kafka-connector options: START
+[[camel-azure-storage-blob-kafka-connector-sink]]
+= camel-azure-storage-blob-kafka-connector sink configuration
+
+When using camel-azure-storage-blob-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-azure-storage-blob-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+
+The camel-azure-storage-blob sink connector supports 33 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.sink.path.accountName* | Azure account name to be used for authentication with azure blob services | null | MEDIUM
+| *camel.sink.path.containerName* | The blob container name | null | MEDIUM
+| *camel.sink.endpoint.blobName* | The blob name, required for consumer. However on producer, is only required for the operations on the blob level | null | MEDIUM
+| *camel.sink.endpoint.blobOffset* | Set the blob offset for the upload or download operations, default is 0 | 0L | MEDIUM
+| *camel.sink.endpoint.blobServiceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are [...]
+| *camel.sink.endpoint.blobType* | The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob] | "blockblob" | MEDIUM
+| *camel.sink.endpoint.closeStreamAfterRead* | Close the stream after read or keep it open, default is true | true | MEDIUM
+| *camel.sink.endpoint.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.sink.endpoint.dataCount* | How many bytes to include in the range. Must be greater than or equal to 0 if specified. | null | MEDIUM
+| *camel.sink.endpoint.fileDir* | The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer | null | MEDIUM
+| *camel.sink.endpoint.maxRetryRequests* | Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body. | 0 | MEDIUM
+| *camel.sink.endpoint.serviceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are ava [...]
+| *camel.sink.endpoint.closeStreamAfterWrite* | Close the stream after write or keep it open, default is true | true | MEDIUM
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.operation* | The blob operation that can be used with this component on the producer One of: [listBlobContainers] [createBlobContainer] [deleteBlobContainer] [listBlobs] [getBlob] [deleteBlob] [downloadBlobToFile] [downloadLink] [uploadBlockBlob] [stageBlockBlobList] [commitBlobBlockList] [getBlobBlockList] [createAppendBlob] [commitAppendBlob] [createPageBlob] [uploadPageBlob] [resizePageBlob] [clearPageBlob] [getPageBlobRanges] | "listBlobContainers" | MEDIUM
+| *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.sink.endpoint.accessKey* | Access key for the associated azure account name to be used for authentication with azure blob services | null | MEDIUM
+| *camel.component.azure-storage-blob.blobName* | The blob name, required for consumer. However on producer, is only required for the operations on the blob level | null | MEDIUM
+| *camel.component.azure-storage-blob.blobOffset* | Set the blob offset for the upload or download operations, default is 0 | 0L | MEDIUM
+| *camel.component.azure-storage-blob.blobType* | The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob] | "blockblob" | MEDIUM
+| *camel.component.azure-storage-blob.closeStream AfterRead* | Close the stream after read or keep it open, default is true | true | MEDIUM
+| *camel.component.azure-storage-blob.configuration* | The component configurations | null | MEDIUM
+| *camel.component.azure-storage-blob.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.component.azure-storage-blob.dataCount* | How many bytes to include in the range. Must be greater than or equal to 0 if specified. | null | MEDIUM
+| *camel.component.azure-storage-blob.fileDir* | The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer | null | MEDIUM
+| *camel.component.azure-storage-blob.maxRetry Requests* | Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body. | 0 | MEDIUM
+| *camel.component.azure-storage-blob.serviceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on [...]
+| *camel.component.azure-storage-blob.closeStream AfterWrite* | Close the stream after write or keep it open, default is true | true | MEDIUM
+| *camel.component.azure-storage-blob.lazyStart 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 pr [...]
+| *camel.component.azure-storage-blob.operation* | The blob operation that can be used with this component on the producer One of: [listBlobContainers] [createBlobContainer] [deleteBlobContainer] [listBlobs] [getBlob] [deleteBlob] [downloadBlobToFile] [downloadLink] [uploadBlockBlob] [stageBlockBlobList] [commitBlobBlockList] [getBlobBlockList] [createAppendBlob] [commitAppendBlob] [createPageBlob] [uploadPageBlob] [resizePageBlob] [clearPageBlob] [getPageBlobRanges] | "listBlobContainer [...]
+| *camel.component.azure-storage-blob.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.azure-storage-blob.accessKey* | Access key for the associated azure account name to be used for authentication with azure blob services | null | MEDIUM
+|===
+
+
+// kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-storage-blob-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-storage-blob-kafka-source-connector.adoc
new file mode 100644
index 0000000..ca57ddf
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-storage-blob-kafka-source-connector.adoc
@@ -0,0 +1,59 @@
+// kafka-connector options: START
+[[camel-azure-storage-blob-kafka-connector-source]]
+= camel-azure-storage-blob-kafka-connector source configuration
+
+When using camel-azure-storage-blob-kafka-connector as source make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-azure-storage-blob-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+
+The camel-azure-storage-blob source connector supports 31 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.source.path.accountName* | Azure account name to be used for authentication with azure blob services | null | MEDIUM
+| *camel.source.path.containerName* | The blob container name | null | MEDIUM
+| *camel.source.endpoint.blobName* | The blob name, required for consumer. However on producer, is only required for the operations on the blob level | null | MEDIUM
+| *camel.source.endpoint.blobOffset* | Set the blob offset for the upload or download operations, default is 0 | 0L | MEDIUM
+| *camel.source.endpoint.blobServiceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob a [...]
+| *camel.source.endpoint.blobType* | The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob] | "blockblob" | MEDIUM
+| *camel.source.endpoint.closeStreamAfterRead* | Close the stream after read or keep it open, default is true | true | MEDIUM
+| *camel.source.endpoint.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.source.endpoint.dataCount* | How many bytes to include in the range. Must be greater than or equal to 0 if specified. | null | MEDIUM
+| *camel.source.endpoint.fileDir* | The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer | null | MEDIUM
+| *camel.source.endpoint.maxRetryRequests* | Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body. | 0 | MEDIUM
+| *camel.source.endpoint.serviceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on a blob are a [...]
+| *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
+| *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
+| *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
+| *camel.source.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.source.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.source.endpoint.accessKey* | Access key for the associated azure account name to be used for authentication with azure blob services | null | MEDIUM
+| *camel.component.azure-storage-blob.blobName* | The blob name, required for consumer. However on producer, is only required for the operations on the blob level | null | MEDIUM
+| *camel.component.azure-storage-blob.blobOffset* | Set the blob offset for the upload or download operations, default is 0 | 0L | MEDIUM
+| *camel.component.azure-storage-blob.blobType* | The blob type in order to initiate the appropriate settings for each blob type One of: [blockblob] [appendblob] [pageblob] | "blockblob" | MEDIUM
+| *camel.component.azure-storage-blob.closeStream AfterRead* | Close the stream after read or keep it open, default is true | true | MEDIUM
+| *camel.component.azure-storage-blob.configuration* | The component configurations | null | MEDIUM
+| *camel.component.azure-storage-blob.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.component.azure-storage-blob.dataCount* | How many bytes to include in the range. Must be greater than or equal to 0 if specified. | null | MEDIUM
+| *camel.component.azure-storage-blob.fileDir* | The file directory where the downloaded blobs will be saved to, this can be used in both, producer and consumer | null | MEDIUM
+| *camel.component.azure-storage-blob.maxRetry Requests* | Specifies the maximum number of additional HTTP Get requests that will be made while reading the data from a response body. | 0 | MEDIUM
+| *camel.component.azure-storage-blob.serviceClient* | Client to a storage account. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. It may also be used to construct URLs to blobs and containers. This client contains operations on a service account. Operations on a container are available on BlobContainerClient through getBlobContainerClient(String), and operations on [...]
+| *camel.component.azure-storage-blob.bridgeError Handler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
+| *camel.component.azure-storage-blob.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.azure-storage-blob.accessKey* | Access key for the associated azure account name to be used for authentication with azure blob services | null | MEDIUM
+|===
+
+
+// kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-storage-queue-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-storage-queue-kafka-sink-connector.adoc
new file mode 100644
index 0000000..23f16dc
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-storage-queue-kafka-sink-connector.adoc
@@ -0,0 +1,52 @@
+// kafka-connector options: START
+[[camel-azure-storage-queue-kafka-connector-sink]]
+= camel-azure-storage-queue-kafka-connector sink configuration
+
+When using camel-azure-storage-queue-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-azure-storage-queue-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+
+The camel-azure-storage-queue sink connector supports 24 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.sink.path.accountName* | Azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.sink.path.queueName* | The queue resource name | null | MEDIUM
+| *camel.sink.endpoint.serviceClient* | Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties of [...]
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.operation* | Queue service operation hint to the producer One of: [listQueues] [createQueue] [deleteQueue] [clearQueue] [sendMessage] [deleteMessage] [receiveMessages] [peekMessages] [updateMessage] | null | MEDIUM
+| *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.sink.endpoint.maxMessages* | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | "1" | MEDIUM
+| *camel.sink.endpoint.timeout* | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. | null | MEDIUM
+| *camel.sink.endpoint.timeToLive* | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null [...]
+| *camel.sink.endpoint.visibilityTimeout* | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | MEDIUM
+| *camel.sink.endpoint.accessKey* | Access key for the associated azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.sink.endpoint.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.component.azure-storage-queue.configuration* | The component configurations | null | MEDIUM
+| *camel.component.azure-storage-queue.serviceClient* | Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updati [...]
+| *camel.component.azure-storage-queue.lazyStart 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 p [...]
+| *camel.component.azure-storage-queue.operation* | Queue service operation hint to the producer One of: [listQueues] [createQueue] [deleteQueue] [clearQueue] [sendMessage] [deleteMessage] [receiveMessages] [peekMessages] [updateMessage] | null | MEDIUM
+| *camel.component.azure-storage-queue.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.azure-storage-queue.maxMessages* | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | "1" | MEDIUM
+| *camel.component.azure-storage-queue.timeout* | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. | null | MEDIUM
+| *camel.component.azure-storage-queue.timeToLive* | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are  [...]
+| *camel.component.azure-storage-queue.visibility Timeout* | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | MEDIUM
+| *camel.component.azure-storage-queue.accessKey* | Access key for the associated azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.component.azure-storage-queue.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+|===
+
+
+// kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-azure-storage-queue-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-azure-storage-queue-kafka-source-connector.adoc
new file mode 100644
index 0000000..6e3610b
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-azure-storage-queue-kafka-source-connector.adoc
@@ -0,0 +1,52 @@
+// kafka-connector options: START
+[[camel-azure-storage-queue-kafka-connector-source]]
+= camel-azure-storage-queue-kafka-connector source configuration
+
+When using camel-azure-storage-queue-kafka-connector as source make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-azure-storage-queue-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+
+The camel-azure-storage-queue source connector supports 24 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.source.path.accountName* | Azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.source.path.queueName* | The queue resource name | null | MEDIUM
+| *camel.source.endpoint.serviceClient* | Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties  [...]
+| *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
+| *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
+| *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
+| *camel.source.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.source.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.source.endpoint.maxMessages* | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | "1" | MEDIUM
+| *camel.source.endpoint.timeout* | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. | null | MEDIUM
+| *camel.source.endpoint.timeToLive* | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | nu [...]
+| *camel.source.endpoint.visibilityTimeout* | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | MEDIUM
+| *camel.source.endpoint.accessKey* | Access key for the associated azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.source.endpoint.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+| *camel.component.azure-storage-queue.configuration* | The component configurations | null | MEDIUM
+| *camel.component.azure-storage-queue.serviceClient* | Service client to a storage account to interact with the queue service. This client does not hold any state about a particular storage account but is instead a convenient way of sending off appropriate requests to the resource on the service. This client contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updati [...]
+| *camel.component.azure-storage-queue.bridgeError Handler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
+| *camel.component.azure-storage-queue.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.component.azure-storage-queue.maxMessages* | Maximum number of messages to get, if there are less messages exist in the queue than requested all the messages will be returned. If left empty only 1 message will be retrieved, the allowed range is 1 to 32 messages. | "1" | MEDIUM
+| *camel.component.azure-storage-queue.timeout* | An optional timeout applied to the operation. If a response is not returned before the timeout concludes a RuntimeException will be thrown. | null | MEDIUM
+| *camel.component.azure-storage-queue.timeToLive* | How long the message will stay alive in the queue. If unset the value will default to 7 days, if -1 is passed the message will not expire. The time to live must be -1 or any positive number. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are  [...]
+| *camel.component.azure-storage-queue.visibility Timeout* | The timeout period for how long the message is invisible in the queue. The timeout must be between 1 seconds and 7 days. The format should be in this form: PnDTnHnMn.nS., e.g: PT20.345S -- parses as 20.345 seconds, P2D -- parses as 2 days However, in case you are using EndpointDsl/ComponentDsl, you can do something like Duration.ofSeconds() since these Java APIs are typesafe. | null | MEDIUM
+| *camel.component.azure-storage-queue.accessKey* | Access key for the associated azure account name to be used for authentication with azure queue services | null | MEDIUM
+| *camel.component.azure-storage-queue.credentials* | StorageSharedKeyCredential can be injected to create the azure client, this holds the important authentication information | null | MEDIUM
+|===
+
+
+// kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-chunk-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-chunk-kafka-sink-connector.adoc
index 857aeae..f72d808 100644
--- a/docs/modules/ROOT/pages/connectors/camel-chunk-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-chunk-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-chunk-kafka-connector as sink make sure to use the following Ma
 ----
 
 
-The camel-chunk sink connector supports 12 options, which are listed below.
+The camel-chunk sink connector supports 14 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-chunk sink connector supports 12 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.encoding* | Define the encoding of the body | null | MEDIUM
 | *camel.sink.endpoint.extension* | Define the file extension of the template | null | MEDIUM
@@ -32,6 +33,7 @@ The camel-chunk sink connector supports 12 options, which are listed below.
 | *camel.sink.endpoint.themeSubfolder* | Define the themes subfolder to scan | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.chunk.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.chunk.lazyStartProducer* | 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 c [...]
 | *camel.component.chunk.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 |===
diff --git a/docs/modules/ROOT/pages/connectors/camel-djl-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-djl-kafka-sink-connector.adoc
new file mode 100644
index 0000000..f5f47ef
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-djl-kafka-sink-connector.adoc
@@ -0,0 +1,37 @@
+// kafka-connector options: START
+[[camel-djl-kafka-connector-sink]]
+= camel-djl-kafka-connector sink configuration
+
+When using camel-djl-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.kafkaconnector</groupId>
+  <artifactId>camel-djl-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+
+The camel-djl sink connector supports 9 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Priority
+| *camel.sink.path.application* | Application name | null | HIGH
+| *camel.sink.endpoint.artifactId* | Model Artifact | null | MEDIUM
+| *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
+| *camel.sink.endpoint.model* | Model | null | MEDIUM
+| *camel.sink.endpoint.translator* | Translator | null | MEDIUM
+| *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+| *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.djl.lazyStartProducer* | 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 cre [...]
+| *camel.component.djl.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
+|===
+
+
+// kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-freemarker-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-freemarker-kafka-sink-connector.adoc
index 051afab..1a8ba59 100644
--- a/docs/modules/ROOT/pages/connectors/camel-freemarker-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-freemarker-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-freemarker-kafka-connector as sink make sure to use the followi
 ----
 
 
-The camel-freemarker sink connector supports 11 options, which are listed below.
+The camel-freemarker sink connector supports 13 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-freemarker sink connector supports 11 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.configuration* | Sets the Freemarker configuration to use | null | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.encoding* | Sets the encoding to be used for loading the template file. | null | MEDIUM
@@ -30,6 +31,7 @@ The camel-freemarker sink connector supports 11 options, which are listed below.
 | *camel.sink.endpoint.templateUpdateDelay* | Number of seconds the loaded template resource will remain in the cache. | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.freemarker.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.freemarker.lazyStartProducer* | 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 t [...]
 | *camel.component.freemarker.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.freemarker.configuration* | To use an existing freemarker.template.Configuration instance as the configuration. | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-jms-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-jms-kafka-source-connector.adoc
index 55aa4fa..8389cb7 100644
--- a/docs/modules/ROOT/pages/connectors/camel-jms-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-jms-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-jms-kafka-connector as source make sure to use the following Ma
 ----
 
 
-The camel-jms source connector supports 142 options, which are listed below.
+The camel-jms source connector supports 141 options, which are listed below.
 
 
 
@@ -102,7 +102,6 @@ The camel-jms source connector supports 142 options, which are listed below.
 | *camel.component.jms.acknowledgementModeName* | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE One of: [SESSION_TRANSACTED] [CLIENT_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [DUPS_OK_ACKNOWLEDGE] | "AUTO_ACKNOWLEDGE" | MEDIUM
 | *camel.component.jms.asyncConsumer* | Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note i [...]
 | *camel.component.jms.autoStartup* | Specifies whether the consumer container should auto-startup. | true | MEDIUM
-| *camel.component.jms.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.component.jms.cacheLevel* | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. | null | MEDIUM
 | *camel.component.jms.cacheLevelName* | Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information. One of: [CACHE_AUTO] [CACHE_CONNECTION] [CACHE_CONSUMER] [CACHE_NONE] [CACHE_SESSION] | "CACHE_AUTO" | MEDIUM
 | *camel.component.jms.concurrentConsumers* | Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. | 1 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-jolt-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-jolt-kafka-sink-connector.adoc
index c12ec96..a56ef35 100644
--- a/docs/modules/ROOT/pages/connectors/camel-jolt-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-jolt-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-jolt-kafka-connector as sink make sure to use the following Mav
 ----
 
 
-The camel-jolt sink connector supports 11 options, which are listed below.
+The camel-jolt sink connector supports 13 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-jolt sink connector supports 11 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.inputType* | Specifies if the input is hydrated JSON or a JSON String. One of: [Hydrated] [JsonString] | "Hydrated" | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
@@ -30,6 +31,7 @@ The camel-jolt sink connector supports 11 options, which are listed below.
 | *camel.sink.endpoint.transformDsl* | Specifies the Transform DSL of the endpoint resource. If none is specified Chainr will be used. One of: [Chainr] [Shiftr] [Defaultr] [Removr] [Sortr] | "Chainr" | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.jolt.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.jolt.lazyStartProducer* | 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 cr [...]
 | *camel.component.jolt.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.jolt.transform* | Explicitly sets the Transform to use. If not set a Transform specified by the transformDsl will be created | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-jslt-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-jslt-kafka-sink-connector.adoc
index 4d84d28..0bc4f0b 100644
--- a/docs/modules/ROOT/pages/connectors/camel-jslt-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-jslt-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-jslt-kafka-connector as sink make sure to use the following Mav
 ----
 
 
-The camel-jslt sink connector supports 9 options, which are listed below.
+The camel-jslt sink connector supports 11 options, which are listed below.
 
 
 
@@ -23,11 +23,13 @@ The camel-jslt sink connector supports 9 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.prettyPrint* | If true, JSON in output message is pretty printed. | false | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.jslt.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.jslt.lazyStartProducer* | 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 cr [...]
 | *camel.component.jslt.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.jslt.functions* | JSLT can be extended by plugging in functions written in Java. | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-kafka-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-kafka-kafka-sink-connector.adoc
index 5a0e257..fd6b796 100644
--- a/docs/modules/ROOT/pages/connectors/camel-kafka-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-kafka-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-kafka-kafka-connector as sink make sure to use the following Ma
 ----
 
 
-The camel-kafka sink connector supports 132 options, which are listed below.
+The camel-kafka sink connector supports 134 options, which are listed below.
 
 
 
@@ -28,6 +28,7 @@ The camel-kafka sink connector supports 132 options, which are listed below.
 | *camel.sink.endpoint.clientId* | The client id is a user-specified string sent in each request to help trace calls. It should logically identify the application making the request. | null | MEDIUM
 | *camel.sink.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.sink.endpoint.reconnectBackoffMaxMs* | The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms. | "1000" | MEDIUM
+| *camel.sink.endpoint.shutdownTimeout* | Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads. | 30000 | MEDIUM
 | *camel.sink.endpoint.bufferMemorySize* | The total bytes of memory the producer can use to buffer records waiting to be sent to the server. If records are sent faster than they can be delivered to the server the producer will either block or throw an exception based on the preference specified by block.on.buffer.full.This setting should correspond roughly to the total memory the producer will use, but is not a hard bound since not all memory the producer uses is used for buffering. Som [...]
 | *camel.sink.endpoint.compressionCodec* | This parameter allows you to specify the compression codec for all data generated by this producer. Valid values are none, gzip and snappy. One of: [none] [gzip] [snappy] [lz4] | "none" | MEDIUM
 | *camel.sink.endpoint.connectionMaxIdleMs* | Close idle connections after the number of milliseconds specified by this config. | "540000" | MEDIUM
@@ -75,14 +76,14 @@ The camel-kafka sink connector supports 132 options, which are listed below.
 | *camel.sink.endpoint.securityProtocol* | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | "PLAINTEXT" | MEDIUM
 | *camel.sink.endpoint.sslCipherSuites* | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. | null | MEDIUM
 | *camel.sink.endpoint.sslContextParameters* | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. | null | MEDIUM
-| *camel.sink.endpoint.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2,TLSv1.1,TLSv1" | MEDIUM
+| *camel.sink.endpoint.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2" | MEDIUM
 | *camel.sink.endpoint.sslEndpointAlgorithm* | The endpoint identification algorithm to validate server hostname using server certificate. | null | MEDIUM
 | *camel.sink.endpoint.sslKeymanagerAlgorithm* | The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine. | "SunX509" | MEDIUM
 | *camel.sink.endpoint.sslKeyPassword* | The password of the private key in the key store file. This is optional for client. | null | MEDIUM
 | *camel.sink.endpoint.sslKeystoreLocation* | The location of the key store file. This is optional for client and can be used for two-way authentication for client. | null | MEDIUM
 | *camel.sink.endpoint.sslKeystorePassword* | The store password for the key store file.This is optional for client and only needed if ssl.keystore.location is configured. | null | MEDIUM
 | *camel.sink.endpoint.sslKeystoreType* | The file format of the key store file. This is optional for client. Default value is JKS | "JKS" | MEDIUM
-| *camel.sink.endpoint.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLS" | MEDIUM
+| *camel.sink.endpoint.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLSv1.2" | MEDIUM
 | *camel.sink.endpoint.sslProvider* | The name of the security provider used for SSL connections. Default value is the default security provider of the JVM. | null | MEDIUM
 | *camel.sink.endpoint.sslTrustmanagerAlgorithm* | The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine. | "PKIX" | MEDIUM
 | *camel.sink.endpoint.sslTruststoreLocation* | The location of the trust store file. | null | MEDIUM
@@ -94,6 +95,7 @@ The camel-kafka sink connector supports 132 options, which are listed below.
 | *camel.component.kafka.configuration* | Allows to pre-configure the Kafka component with common options that the endpoints will reuse. | null | MEDIUM
 | *camel.component.kafka.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.component.kafka.reconnectBackoffMaxMs* | The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms. | "1000" | MEDIUM
+| *camel.component.kafka.shutdownTimeout* | Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads. | 30000 | MEDIUM
 | *camel.component.kafka.bufferMemorySize* | The total bytes of memory the producer can use to buffer records waiting to be sent to the server. If records are sent faster than they can be delivered to the server the producer will either block or throw an exception based on the preference specified by block.on.buffer.full.This setting should correspond roughly to the total memory the producer will use, but is not a hard bound since not all memory the producer uses is used for buffering. S [...]
 | *camel.component.kafka.compressionCodec* | This parameter allows you to specify the compression codec for all data generated by this producer. Valid values are none, gzip and snappy. One of: [none] [gzip] [snappy] [lz4] | "none" | MEDIUM
 | *camel.component.kafka.connectionMaxIdleMs* | Close idle connections after the number of milliseconds specified by this config. | "540000" | MEDIUM
@@ -140,14 +142,14 @@ The camel-kafka sink connector supports 132 options, which are listed below.
 | *camel.component.kafka.securityProtocol* | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | "PLAINTEXT" | MEDIUM
 | *camel.component.kafka.sslCipherSuites* | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. | null | MEDIUM
 | *camel.component.kafka.sslContextParameters* | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. | null | MEDIUM
-| *camel.component.kafka.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2,TLSv1.1,TLSv1" | MEDIUM
+| *camel.component.kafka.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2" | MEDIUM
 | *camel.component.kafka.sslEndpointAlgorithm* | The endpoint identification algorithm to validate server hostname using server certificate. | null | MEDIUM
 | *camel.component.kafka.sslKeymanagerAlgorithm* | The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine. | "SunX509" | MEDIUM
 | *camel.component.kafka.sslKeyPassword* | The password of the private key in the key store file. This is optional for client. | null | MEDIUM
 | *camel.component.kafka.sslKeystoreLocation* | The location of the key store file. This is optional for client and can be used for two-way authentication for client. | null | MEDIUM
 | *camel.component.kafka.sslKeystorePassword* | The store password for the key store file.This is optional for client and only needed if ssl.keystore.location is configured. | null | MEDIUM
 | *camel.component.kafka.sslKeystoreType* | The file format of the key store file. This is optional for client. Default value is JKS | "JKS" | MEDIUM
-| *camel.component.kafka.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLS" | MEDIUM
+| *camel.component.kafka.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLSv1.2" | MEDIUM
 | *camel.component.kafka.sslProvider* | The name of the security provider used for SSL connections. Default value is the default security provider of the JVM. | null | MEDIUM
 | *camel.component.kafka.sslTrustmanagerAlgorithm* | The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine. | "PKIX" | MEDIUM
 | *camel.component.kafka.sslTruststoreLocation* | The location of the trust store file. | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-kafka-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-kafka-kafka-source-connector.adoc
index 8523602..dc2d5c4 100644
--- a/docs/modules/ROOT/pages/connectors/camel-kafka-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-kafka-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-kafka-kafka-connector as source make sure to use the following
 ----
 
 
-The camel-kafka source connector supports 119 options, which are listed below.
+The camel-kafka source connector supports 121 options, which are listed below.
 
 
 
@@ -28,6 +28,7 @@ The camel-kafka source connector supports 119 options, which are listed below.
 | *camel.source.endpoint.clientId* | The client id is a user-specified string sent in each request to help trace calls. It should logically identify the application making the request. | null | MEDIUM
 | *camel.source.endpoint.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.source.endpoint.reconnectBackoffMaxMs* | The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms. | "1000" | MEDIUM
+| *camel.source.endpoint.shutdownTimeout* | Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads. | 30000 | MEDIUM
 | *camel.source.endpoint.allowManualCommit* | Whether to allow doing manual commits via KafkaManualCommit. If this option is enabled then an instance of KafkaManualCommit is stored on the Exchange message header, which allows end users to access this API and perform manual offset commits via the Kafka consumer. | false | MEDIUM
 | *camel.source.endpoint.autoCommitEnable* | If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer. This committed offset will be used when the process fails as the position from which the new consumer will begin. | "true" | MEDIUM
 | *camel.source.endpoint.autoCommitIntervalMs* | The frequency in ms that the consumer offsets are committed to zookeeper. | "5000" | MEDIUM
@@ -74,11 +75,11 @@ The camel-kafka source connector supports 119 options, which are listed below.
 | *camel.source.endpoint.securityProtocol* | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | "PLAINTEXT" | MEDIUM
 | *camel.source.endpoint.sslCipherSuites* | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. | null | MEDIUM
 | *camel.source.endpoint.sslContextParameters* | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. | null | MEDIUM
-| *camel.source.endpoint.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2,TLSv1.1,TLSv1" | MEDIUM
+| *camel.source.endpoint.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2" | MEDIUM
 | *camel.source.endpoint.sslEndpointAlgorithm* | The endpoint identification algorithm to validate server hostname using server certificate. | null | MEDIUM
 | *camel.source.endpoint.sslKeymanagerAlgorithm* | The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine. | "SunX509" | MEDIUM
 | *camel.source.endpoint.sslKeystoreType* | The file format of the key store file. This is optional for client. Default value is JKS | "JKS" | MEDIUM
-| *camel.source.endpoint.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLS" | MEDIUM
+| *camel.source.endpoint.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLSv1.2" | MEDIUM
 | *camel.source.endpoint.sslProvider* | The name of the security provider used for SSL connections. Default value is the default security provider of the JVM. | null | MEDIUM
 | *camel.source.endpoint.sslTrustmanagerAlgorithm* | The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine. | "PKIX" | MEDIUM
 | *camel.source.endpoint.sslTruststoreType* | The file format of the trust store file. Default value is JKS. | "JKS" | MEDIUM
@@ -88,6 +89,7 @@ The camel-kafka source connector supports 119 options, which are listed below.
 | *camel.component.kafka.configuration* | Allows to pre-configure the Kafka component with common options that the endpoints will reuse. | null | MEDIUM
 | *camel.component.kafka.headerFilterStrategy* | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | null | MEDIUM
 | *camel.component.kafka.reconnectBackoffMaxMs* | The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms. | "1000" | MEDIUM
+| *camel.component.kafka.shutdownTimeout* | Timeout in milli seconds to wait gracefully for the consumer or producer to shutdown and terminate its worker threads. | 30000 | MEDIUM
 | *camel.component.kafka.allowManualCommit* | Whether to allow doing manual commits via KafkaManualCommit. If this option is enabled then an instance of KafkaManualCommit is stored on the Exchange message header, which allows end users to access this API and perform manual offset commits via the Kafka consumer. | false | MEDIUM
 | *camel.component.kafka.autoCommitEnable* | If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer. This committed offset will be used when the process fails as the position from which the new consumer will begin. | "true" | MEDIUM
 | *camel.component.kafka.autoCommitIntervalMs* | The frequency in ms that the consumer offsets are committed to zookeeper. | "5000" | MEDIUM
@@ -132,11 +134,11 @@ The camel-kafka source connector supports 119 options, which are listed below.
 | *camel.component.kafka.securityProtocol* | Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT and SSL are supported | "PLAINTEXT" | MEDIUM
 | *camel.component.kafka.sslCipherSuites* | A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol.By default all the available cipher suites are supported. | null | MEDIUM
 | *camel.component.kafka.sslContextParameters* | SSL configuration using a Camel SSLContextParameters object. If configured it's applied before the other SSL endpoint parameters. | null | MEDIUM
-| *camel.component.kafka.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2,TLSv1.1,TLSv1" | MEDIUM
+| *camel.component.kafka.sslEnabledProtocols* | The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. | "TLSv1.2" | MEDIUM
 | *camel.component.kafka.sslEndpointAlgorithm* | The endpoint identification algorithm to validate server hostname using server certificate. | null | MEDIUM
 | *camel.component.kafka.sslKeymanagerAlgorithm* | The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine. | "SunX509" | MEDIUM
 | *camel.component.kafka.sslKeystoreType* | The file format of the key store file. This is optional for client. Default value is JKS | "JKS" | MEDIUM
-| *camel.component.kafka.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLS" | MEDIUM
+| *camel.component.kafka.sslProtocol* | The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. | "TLSv1.2" | MEDIUM
 | *camel.component.kafka.sslProvider* | The name of the security provider used for SSL connections. Default value is the default security provider of the JVM. | null | MEDIUM
 | *camel.component.kafka.sslTrustmanagerAlgorithm* | The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine. | "PKIX" | MEDIUM
 | *camel.component.kafka.sslTruststoreType* | The file format of the trust store file. Default value is JKS. | "JKS" | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-mongodb-gridfs-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-mongodb-gridfs-kafka-sink-connector.adoc
index 2529e6f..2adb2b4 100644
--- a/docs/modules/ROOT/pages/connectors/camel-mongodb-gridfs-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-mongodb-gridfs-kafka-sink-connector.adoc
@@ -22,13 +22,13 @@ The camel-mongodb-gridfs sink connector supports 11 options, which are listed be
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Priority
-| *camel.sink.path.connectionBean* | Name of com.mongodb.MongoClient to use. | null | HIGH
+| *camel.sink.path.connectionBean* | Name of com.mongodb.client.MongoClient to use. | null | HIGH
 | *camel.sink.endpoint.bucket* | Sets the name of the GridFS bucket within the database. Default is fs. | "fs" | MEDIUM
 | *camel.sink.endpoint.database* | Sets the name of the MongoDB database to target | null | HIGH
 | *camel.sink.endpoint.readPreference* | Sets a MongoDB ReadPreference on the Mongo connection. Read preferences set directly on the connection will be overridden by this setting. The com.mongodb.ReadPreference#valueOf(String) utility method is used to resolve the passed readPreference value. Some examples for the possible values are nearest, primary or secondary etc. | null | MEDIUM
-| *camel.sink.endpoint.writeConcern* | Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] [SAFE] | null | MEDIUM
+| *camel.sink.endpoint.writeConcern* | Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
-| *camel.sink.endpoint.operation* | Sets the operation this endpoint will execute against GridRS. | null | MEDIUM
+| *camel.sink.endpoint.operation* | Sets the operation this endpoint will execute against GridFs. | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
 | *camel.component.mongodb-gridfs.lazyStartProducer* | 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 process [...]
diff --git a/docs/modules/ROOT/pages/connectors/camel-mongodb-gridfs-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-mongodb-gridfs-kafka-source-connector.adoc
index 5dcc2d9..69a57fd 100644
--- a/docs/modules/ROOT/pages/connectors/camel-mongodb-gridfs-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-mongodb-gridfs-kafka-source-connector.adoc
@@ -22,11 +22,11 @@ The camel-mongodb-gridfs source connector supports 19 options, which are listed
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Priority
-| *camel.source.path.connectionBean* | Name of com.mongodb.MongoClient to use. | null | HIGH
+| *camel.source.path.connectionBean* | Name of com.mongodb.client.MongoClient to use. | null | HIGH
 | *camel.source.endpoint.bucket* | Sets the name of the GridFS bucket within the database. Default is fs. | "fs" | MEDIUM
 | *camel.source.endpoint.database* | Sets the name of the MongoDB database to target | null | HIGH
 | *camel.source.endpoint.readPreference* | Sets a MongoDB ReadPreference on the Mongo connection. Read preferences set directly on the connection will be overridden by this setting. The com.mongodb.ReadPreference#valueOf(String) utility method is used to resolve the passed readPreference value. Some examples for the possible values are nearest, primary or secondary etc. | null | MEDIUM
-| *camel.source.endpoint.writeConcern* | Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] [SAFE] | null | MEDIUM
+| *camel.source.endpoint.writeConcern* | Set the WriteConcern for write operations on MongoDB using the standard ones. Resolved from the fields of the WriteConcern class by calling the WriteConcern#valueOf(String) method. One of: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] | null | MEDIUM
 | *camel.source.endpoint.bridgeErrorHandler* | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | MEDIUM
 | *camel.source.endpoint.delay* | Sets the delay between polls within the Consumer. Default is 500ms | 500L | MEDIUM
 | *camel.source.endpoint.fileAttributeName* | If the QueryType uses a FileAttribute, this sets the name of the attribute that is used. Default is camel-processed. | "camel-processed" | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-mustache-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-mustache-kafka-sink-connector.adoc
index d98f966..b254e6c 100644
--- a/docs/modules/ROOT/pages/connectors/camel-mustache-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-mustache-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-mustache-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-mustache sink connector supports 11 options, which are listed below.
+The camel-mustache sink connector supports 13 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-mustache sink connector supports 11 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.encoding* | Character encoding of the resource content. | null | MEDIUM
 | *camel.sink.endpoint.endDelimiter* | Characters used to mark template code end. | "}}" | MEDIUM
@@ -30,6 +31,7 @@ The camel-mustache sink connector supports 11 options, which are listed below.
 | *camel.sink.endpoint.startDelimiter* | Characters used to mark template code beginning. | "{{" | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.mustache.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.mustache.lazyStartProducer* | 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 the [...]
 | *camel.component.mustache.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.mustache.mustacheFactory* | To use a custom MustacheFactory | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-mvel-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-mvel-kafka-sink-connector.adoc
index a6967b8..e1f7545 100644
--- a/docs/modules/ROOT/pages/connectors/camel-mvel-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-mvel-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-mvel-kafka-connector as sink make sure to use the following Mav
 ----
 
 
-The camel-mvel sink connector supports 8 options, which are listed below.
+The camel-mvel sink connector supports 10 options, which are listed below.
 
 
 
@@ -23,11 +23,13 @@ The camel-mvel sink connector supports 8 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.encoding* | Character encoding of the resource content. | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.mvel.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.mvel.lazyStartProducer* | 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 cr [...]
 | *camel.component.mvel.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 |===
diff --git a/docs/modules/ROOT/pages/connectors/camel-nats-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-nats-kafka-sink-connector.adoc
index 5ceab24..9653f1c 100644
--- a/docs/modules/ROOT/pages/connectors/camel-nats-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-nats-kafka-sink-connector.adoc
@@ -24,7 +24,7 @@ The camel-nats sink connector supports 27 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.sink.path.topic* | The name of topic we want to use | null | HIGH
 | *camel.sink.endpoint.connectionTimeout* | Timeout for connection attempts. (in milliseconds) | 2000 | MEDIUM
-| *camel.sink.endpoint.flushConnection* | Define if we want to flush connection when stopping or not | false | MEDIUM
+| *camel.sink.endpoint.flushConnection* | Define if we want to flush connection when stopping or not | true | MEDIUM
 | *camel.sink.endpoint.flushTimeout* | Set the flush timeout (in milliseconds) | 1000 | MEDIUM
 | *camel.sink.endpoint.maxPingsOut* | maximum number of pings have not received a response allowed by the client | 2 | MEDIUM
 | *camel.sink.endpoint.maxReconnectAttempts* | Max reconnection attempts | 60 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-nats-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-nats-kafka-source-connector.adoc
index e69c88b..1fb6268 100644
--- a/docs/modules/ROOT/pages/connectors/camel-nats-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-nats-kafka-source-connector.adoc
@@ -24,7 +24,7 @@ The camel-nats source connector supports 32 options, which are listed below.
 | Name | Description | Default | Priority
 | *camel.source.path.topic* | The name of topic we want to use | null | HIGH
 | *camel.source.endpoint.connectionTimeout* | Timeout for connection attempts. (in milliseconds) | 2000 | MEDIUM
-| *camel.source.endpoint.flushConnection* | Define if we want to flush connection when stopping or not | false | MEDIUM
+| *camel.source.endpoint.flushConnection* | Define if we want to flush connection when stopping or not | true | MEDIUM
 | *camel.source.endpoint.flushTimeout* | Set the flush timeout (in milliseconds) | 1000 | MEDIUM
 | *camel.source.endpoint.maxPingsOut* | maximum number of pings have not received a response allowed by the client | 2 | MEDIUM
 | *camel.source.endpoint.maxReconnectAttempts* | Max reconnection attempts | 60 | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-robotframework-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-robotframework-kafka-sink-connector.adoc
index b9ea211..a9a3488 100644
--- a/docs/modules/ROOT/pages/connectors/camel-robotframework-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-robotframework-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-robotframework-kafka-connector as sink make sure to use the fol
 ----
 
 
-The camel-robotframework sink connector supports 98 options, which are listed below.
+The camel-robotframework sink connector supports 100 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-robotframework sink connector supports 98 options, which are listed be
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.argumentFile* | A text file to read more arguments from. | null | MEDIUM
 | *camel.sink.endpoint.combinedTagStats* | Creates combined statistics based on tags. Use the format tags:title List | null | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
@@ -72,6 +73,7 @@ The camel-robotframework sink connector supports 98 options, which are listed be
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.robotframework.allowTemplateFrom Header* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.robotframework.argumentFile* | A text file to read more arguments from. | null | MEDIUM
 | *camel.component.robotframework.combinedTagStats* | Creates combined statistics based on tags. Use the format tags:title List | null | MEDIUM
 | *camel.component.robotframework.criticalTags* | Tests that have the given tags are considered critical. List | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-robotframework-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-robotframework-kafka-source-connector.adoc
index e06461c..7fca0d0 100644
--- a/docs/modules/ROOT/pages/connectors/camel-robotframework-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-robotframework-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-robotframework-kafka-connector as source make sure to use the f
 ----
 
 
-The camel-robotframework source connector supports 116 options, which are listed below.
+The camel-robotframework source connector supports 118 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-robotframework source connector supports 116 options, which are listed
 |===
 | Name | Description | Default | Priority
 | *camel.source.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.source.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.source.endpoint.argumentFile* | A text file to read more arguments from. | null | MEDIUM
 | *camel.source.endpoint.combinedTagStats* | Creates combined statistics based on tags. Use the format tags:title List | null | MEDIUM
 | *camel.source.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
@@ -90,6 +91,7 @@ The camel-robotframework source connector supports 116 options, which are listed
 | *camel.source.endpoint.startScheduler* | Whether the scheduler should be auto started. | true | MEDIUM
 | *camel.source.endpoint.timeUnit* | Time unit for initialDelay and delay options. One of: [NANOSECONDS] [MICROSECONDS] [MILLISECONDS] [SECONDS] [MINUTES] [HOURS] [DAYS] | "MILLISECONDS" | MEDIUM
 | *camel.source.endpoint.useFixedDelay* | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | MEDIUM
+| *camel.component.robotframework.allowTemplateFrom Header* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.robotframework.argumentFile* | A text file to read more arguments from. | null | MEDIUM
 | *camel.component.robotframework.combinedTagStats* | Creates combined statistics based on tags. Use the format tags:title List | null | MEDIUM
 | *camel.component.robotframework.criticalTags* | Tests that have the given tags are considered critical. List | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-rss-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-rss-kafka-source-connector.adoc
index 29fb357..77972b3 100644
--- a/docs/modules/ROOT/pages/connectors/camel-rss-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-rss-kafka-source-connector.adoc
@@ -31,7 +31,7 @@ The camel-rss source connector supports 32 options, which are listed below.
 | *camel.source.endpoint.sendEmptyMessageWhenIdle* | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | MEDIUM
 | *camel.source.endpoint.sortEntries* | Sets whether to sort entries by published date. Only works when splitEntries = true. | false | MEDIUM
 | *camel.source.endpoint.splitEntries* | Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message | true | MEDIUM
-| *camel.source.endpoint.throttleEntries* | Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries = true. | true | MEDIUM
+| *camel.source.endpoint.throttleEntries* | Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per delay. Only applicable when splitEntries = true. | true | MEDIUM
 | *camel.source.endpoint.username* | Sets the username to be used for basic authentication when polling from a HTTP feed. | null | MEDIUM
 | *camel.source.endpoint.exceptionHandler* | 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. | null | MEDIUM
 | *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-salesforce-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-salesforce-kafka-sink-connector.adoc
index ab121fb..aa8c825 100644
--- a/docs/modules/ROOT/pages/connectors/camel-salesforce-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-salesforce-kafka-sink-connector.adoc
@@ -26,8 +26,8 @@ The camel-salesforce sink connector supports 113 options, which are listed below
 | *camel.sink.endpoint.apexMethod* | APEX method name | null | MEDIUM
 | *camel.sink.endpoint.apexQueryParams* | Query params for APEX method | null | MEDIUM
 | *camel.sink.endpoint.apexUrl* | APEX method URL | null | MEDIUM
-| *camel.sink.endpoint.apiVersion* | Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION | null | MEDIUM
-| *camel.sink.endpoint.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
+| *camel.sink.endpoint.apiVersion* | Salesforce API version. | "34.0" | MEDIUM
+| *camel.sink.endpoint.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 1000L | MEDIUM
 | *camel.sink.endpoint.batchId* | Bulk API Batch ID | null | MEDIUM
 | *camel.sink.endpoint.contentType* | Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV One of: [XML] [CSV] [JSON] [ZIP_XML] [ZIP_CSV] [ZIP_JSON] | null | MEDIUM
 | *camel.sink.endpoint.defaultReplayId* | Default replayId setting if no value is found in initialReplayIdMap | null | MEDIUM
@@ -38,8 +38,8 @@ The camel-salesforce sink connector supports 113 options, which are listed below
 | *camel.sink.endpoint.instanceId* | Salesforce1 Analytics report execution instance ID | null | MEDIUM
 | *camel.sink.endpoint.jobId* | Bulk API Job ID | null | MEDIUM
 | *camel.sink.endpoint.limit* | Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation. | null | MEDIUM
-| *camel.sink.endpoint.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
-| *camel.sink.endpoint.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | null | MEDIUM
+| *camel.sink.endpoint.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 30000L | MEDIUM
+| *camel.sink.endpoint.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | "EXCEPTION" | MEDIUM
 | *camel.sink.endpoint.notifyForFields* | Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE] | null | MEDIUM
 | *camel.sink.endpoint.notifyForOperationCreate* | Notify for create operation, defaults to false (API version = 29.0) | null | MEDIUM
 | *camel.sink.endpoint.notifyForOperationDelete* | Notify for delete operation, defaults to false (API version = 29.0) | null | MEDIUM
@@ -67,8 +67,8 @@ The camel-salesforce sink connector supports 113 options, which are listed below
 | *camel.component.salesforce.apexMethod* | APEX method name | null | MEDIUM
 | *camel.component.salesforce.apexQueryParams* | Query params for APEX method | null | MEDIUM
 | *camel.component.salesforce.apexUrl* | APEX method URL | null | MEDIUM
-| *camel.component.salesforce.apiVersion* | Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION | null | MEDIUM
-| *camel.component.salesforce.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
+| *camel.component.salesforce.apiVersion* | Salesforce API version. | "34.0" | MEDIUM
+| *camel.component.salesforce.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 1000L | MEDIUM
 | *camel.component.salesforce.batchId* | Bulk API Batch ID | null | MEDIUM
 | *camel.component.salesforce.contentType* | Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV One of: [XML] [CSV] [JSON] [ZIP_XML] [ZIP_CSV] [ZIP_JSON] | null | MEDIUM
 | *camel.component.salesforce.defaultReplayId* | Default replayId setting if no value is found in initialReplayIdMap | null | MEDIUM
@@ -82,8 +82,8 @@ The camel-salesforce sink connector supports 113 options, which are listed below
 | *camel.component.salesforce.instanceId* | Salesforce1 Analytics report execution instance ID | null | MEDIUM
 | *camel.component.salesforce.jobId* | Bulk API Job ID | null | MEDIUM
 | *camel.component.salesforce.limit* | Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation. | null | MEDIUM
-| *camel.component.salesforce.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
-| *camel.component.salesforce.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | null | MEDIUM
+| *camel.component.salesforce.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 30000L | MEDIUM
+| *camel.component.salesforce.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | "EXCEPTION" | MEDIUM
 | *camel.component.salesforce.notifyForFields* | Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE] | null | MEDIUM
 | *camel.component.salesforce.notifyForOperation Create* | Notify for create operation, defaults to false (API version = 29.0) | null | MEDIUM
 | *camel.component.salesforce.notifyForOperation Delete* | Notify for delete operation, defaults to false (API version = 29.0) | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-salesforce-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-salesforce-kafka-source-connector.adoc
index 8c9ba60..7fbf78e 100644
--- a/docs/modules/ROOT/pages/connectors/camel-salesforce-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-salesforce-kafka-source-connector.adoc
@@ -26,8 +26,8 @@ The camel-salesforce source connector supports 116 options, which are listed bel
 | *camel.source.endpoint.apexMethod* | APEX method name | null | MEDIUM
 | *camel.source.endpoint.apexQueryParams* | Query params for APEX method | null | MEDIUM
 | *camel.source.endpoint.apexUrl* | APEX method URL | null | MEDIUM
-| *camel.source.endpoint.apiVersion* | Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION | null | MEDIUM
-| *camel.source.endpoint.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
+| *camel.source.endpoint.apiVersion* | Salesforce API version. | "34.0" | MEDIUM
+| *camel.source.endpoint.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 1000L | MEDIUM
 | *camel.source.endpoint.batchId* | Bulk API Batch ID | null | MEDIUM
 | *camel.source.endpoint.contentType* | Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV One of: [XML] [CSV] [JSON] [ZIP_XML] [ZIP_CSV] [ZIP_JSON] | null | MEDIUM
 | *camel.source.endpoint.defaultReplayId* | Default replayId setting if no value is found in initialReplayIdMap | null | MEDIUM
@@ -38,8 +38,8 @@ The camel-salesforce source connector supports 116 options, which are listed bel
 | *camel.source.endpoint.instanceId* | Salesforce1 Analytics report execution instance ID | null | MEDIUM
 | *camel.source.endpoint.jobId* | Bulk API Job ID | null | MEDIUM
 | *camel.source.endpoint.limit* | Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation. | null | MEDIUM
-| *camel.source.endpoint.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
-| *camel.source.endpoint.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | null | MEDIUM
+| *camel.source.endpoint.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 30000L | MEDIUM
+| *camel.source.endpoint.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | "EXCEPTION" | MEDIUM
 | *camel.source.endpoint.notifyForFields* | Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE] | null | MEDIUM
 | *camel.source.endpoint.notifyForOperationCreate* | Notify for create operation, defaults to false (API version = 29.0) | null | MEDIUM
 | *camel.source.endpoint.notifyForOperationDelete* | Notify for delete operation, defaults to false (API version = 29.0) | null | MEDIUM
@@ -70,8 +70,8 @@ The camel-salesforce source connector supports 116 options, which are listed bel
 | *camel.component.salesforce.apexMethod* | APEX method name | null | MEDIUM
 | *camel.component.salesforce.apexQueryParams* | Query params for APEX method | null | MEDIUM
 | *camel.component.salesforce.apexUrl* | APEX method URL | null | MEDIUM
-| *camel.component.salesforce.apiVersion* | Salesforce API version, defaults to SalesforceEndpointConfig.DEFAULT_VERSION | null | MEDIUM
-| *camel.component.salesforce.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
+| *camel.component.salesforce.apiVersion* | Salesforce API version. | "34.0" | MEDIUM
+| *camel.component.salesforce.backoffIncrement* | Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 1000L | MEDIUM
 | *camel.component.salesforce.batchId* | Bulk API Batch ID | null | MEDIUM
 | *camel.component.salesforce.contentType* | Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV One of: [XML] [CSV] [JSON] [ZIP_XML] [ZIP_CSV] [ZIP_JSON] | null | MEDIUM
 | *camel.component.salesforce.defaultReplayId* | Default replayId setting if no value is found in initialReplayIdMap | null | MEDIUM
@@ -85,8 +85,8 @@ The camel-salesforce source connector supports 116 options, which are listed bel
 | *camel.component.salesforce.instanceId* | Salesforce1 Analytics report execution instance ID | null | MEDIUM
 | *camel.component.salesforce.jobId* | Bulk API Job ID | null | MEDIUM
 | *camel.component.salesforce.limit* | Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation. | null | MEDIUM
-| *camel.component.salesforce.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | null | MEDIUM
-| *camel.component.salesforce.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | null | MEDIUM
+| *camel.component.salesforce.maxBackoff* | Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect. | 30000L | MEDIUM
+| *camel.component.salesforce.notFoundBehaviour* | Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL] | "EXCEPTION" | MEDIUM
 | *camel.component.salesforce.notifyForFields* | Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE] | null | MEDIUM
 | *camel.component.salesforce.notifyForOperation Create* | Notify for create operation, defaults to false (API version = 29.0) | null | MEDIUM
 | *camel.component.salesforce.notifyForOperation Delete* | Notify for delete operation, defaults to false (API version = 29.0) | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc
index 723087d..0592a9d 100644
--- a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-sftp-kafka-connector as sink make sure to use the following Mav
 ----
 
 
-The camel-sftp sink connector supports 58 options, which are listed below.
+The camel-sftp sink connector supports 59 options, which are listed below.
 
 
 
@@ -54,6 +54,7 @@ The camel-sftp sink connector supports 58 options, which are listed below.
 | *camel.sink.endpoint.bulkRequests* | Specifies how many requests may be outstanding at any one time. Increasing this value may slightly improve file transfer speed but will increase memory usage. | null | MEDIUM
 | *camel.sink.endpoint.compression* | To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to the classpath for compression support. | null | MEDIUM
 | *camel.sink.endpoint.connectTimeout* | Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH | 10000 | MEDIUM
+| *camel.sink.endpoint.existDirCheckUsingLs* | Whether to check for existing directory using LS command or CD. By default LS is used which is safer as otherwise Camel needs to change the directory back after checking. However LS has been reported to cause a problem on windows system in some situations and therefore you can disable this option to use CD. | true | MEDIUM
 | *camel.sink.endpoint.maximumReconnectAttempts* | Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior. | null | MEDIUM
 | *camel.sink.endpoint.proxy* | To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume/send messages from the target SFTP host. | null | MEDIUM
 | *camel.sink.endpoint.reconnectDelay* | Delay in millis Camel will wait before performing a reconnect attempt. | null | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc
index f1f0ea9..4d1c8b3 100644
--- a/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-sftp-kafka-source-connector.adoc
@@ -15,7 +15,7 @@ When using camel-sftp-kafka-connector as source make sure to use the following M
 ----
 
 
-The camel-sftp source connector supports 111 options, which are listed below.
+The camel-sftp source connector supports 112 options, which are listed below.
 
 
 
@@ -59,6 +59,7 @@ The camel-sftp source connector supports 111 options, which are listed below.
 | *camel.source.endpoint.bulkRequests* | Specifies how many requests may be outstanding at any one time. Increasing this value may slightly improve file transfer speed but will increase memory usage. | null | MEDIUM
 | *camel.source.endpoint.compression* | To use compression. Specify a level from 1 to 10. Important: You must manually add the needed JSCH zlib JAR to the classpath for compression support. | null | MEDIUM
 | *camel.source.endpoint.connectTimeout* | Sets the connect timeout for waiting for a connection to be established Used by both FTPClient and JSCH | 10000 | MEDIUM
+| *camel.source.endpoint.existDirCheckUsingLs* | Whether to check for existing directory using LS command or CD. By default LS is used which is safer as otherwise Camel needs to change the directory back after checking. However LS has been reported to cause a problem on windows system in some situations and therefore you can disable this option to use CD. | true | MEDIUM
 | *camel.source.endpoint.maximumReconnectAttempts* | Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior. | null | MEDIUM
 | *camel.source.endpoint.proxy* | To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume/send messages from the target SFTP host. | null | MEDIUM
 | *camel.source.endpoint.reconnectDelay* | Delay in millis Camel will wait before performing a reconnect attempt. | null | MEDIUM
diff --git a/connectors/camel-freemarker-kafka-connector/src/main/docs/camel-freemarker-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-splunk-hec-kafka-sink-connector.adoc
similarity index 60%
copy from connectors/camel-freemarker-kafka-connector/src/main/docs/camel-freemarker-kafka-sink-connector.adoc
copy to docs/modules/ROOT/pages/connectors/camel-splunk-hec-kafka-sink-connector.adoc
index 051afab..ae545f4 100644
--- a/connectors/camel-freemarker-kafka-connector/src/main/docs/camel-freemarker-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-splunk-hec-kafka-sink-connector.adoc
@@ -1,37 +1,41 @@
 // kafka-connector options: START
-[[camel-freemarker-kafka-connector-sink]]
-= camel-freemarker-kafka-connector sink configuration
+[[camel-splunk-hec-kafka-connector-sink]]
+= camel-splunk-hec-kafka-connector sink configuration
 
-When using camel-freemarker-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
+When using camel-splunk-hec-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:
 
 [source,xml]
 ----
 <dependency>
   <groupId>org.apache.camel.kafkaconnector</groupId>
-  <artifactId>camel-freemarker-kafka-connector</artifactId>
+  <artifactId>camel-splunk-hec-kafka-connector</artifactId>
   <version>x.x.x</version>
   <!-- use the same version as your Camel Kafka connector version -->
 </dependency>
 ----
 
 
-The camel-freemarker sink connector supports 11 options, which are listed below.
+The camel-splunk-hec sink connector supports 13 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Priority
-| *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
-| *camel.sink.endpoint.configuration* | Sets the Freemarker configuration to use | null | MEDIUM
-| *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
-| *camel.sink.endpoint.encoding* | Sets the encoding to be used for loading the template file. | null | MEDIUM
+| *camel.sink.path.splunkURL* | Splunk Host URL | null | HIGH
+| *camel.sink.path.token* | Splunk authorization token | null | HIGH
+| *camel.sink.endpoint.host* | Splunk host. | null | MEDIUM
+| *camel.sink.endpoint.index* | Splunk index to write to | "camel" | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
-| *camel.sink.endpoint.templateUpdateDelay* | Number of seconds the loaded template resource will remain in the cache. | null | MEDIUM
+| *camel.sink.endpoint.source* | Splunk source argument | "camel" | MEDIUM
+| *camel.sink.endpoint.sourceType* | Splunk sourcetype argument | "camel" | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
-| *camel.component.freemarker.lazyStartProducer* | 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 t [...]
-| *camel.component.freemarker.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
-| *camel.component.freemarker.configuration* | To use an existing freemarker.template.Configuration instance as the configuration. | null | MEDIUM
+| *camel.sink.endpoint.https* | Contact HEC over https. | true | MEDIUM
+| *camel.sink.endpoint.skipTlsVerify* | Splunk HEC TLS verification. | false | MEDIUM
+| *camel.component.splunk-hec.lazyStartProducer* | 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 t [...]
+| *camel.component.splunk-hec.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 |===
+
+
 // kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-string-template-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-string-template-kafka-sink-connector.adoc
index d5a5e64..5ee7829 100644
--- a/docs/modules/ROOT/pages/connectors/camel-string-template-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-string-template-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-string-template-kafka-connector as sink make sure to use the fo
 ----
 
 
-The camel-string-template sink connector supports 9 options, which are listed below.
+The camel-string-template sink connector supports 11 options, which are listed below.
 
 
 
@@ -23,12 +23,14 @@ The camel-string-template sink connector supports 9 options, which are listed be
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.delimiterStart* | The variable start delimiter | "<" | MEDIUM
 | *camel.sink.endpoint.delimiterStop* | The variable end delimiter | ">" | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.string-template.allowTemplateFrom Header* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.string-template.lazyStartProducer* | 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 proces [...]
 | *camel.component.string-template.basicProperty Binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 |===
diff --git a/docs/modules/ROOT/pages/connectors/camel-velocity-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-velocity-kafka-sink-connector.adoc
index 964febd..97601b0 100644
--- a/docs/modules/ROOT/pages/connectors/camel-velocity-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-velocity-kafka-sink-connector.adoc
@@ -15,7 +15,7 @@ When using camel-velocity-kafka-connector as sink make sure to use the following
 ----
 
 
-The camel-velocity sink connector supports 11 options, which are listed below.
+The camel-velocity sink connector supports 13 options, which are listed below.
 
 
 
@@ -23,6 +23,7 @@ The camel-velocity sink connector supports 11 options, which are listed below.
 |===
 | Name | Description | Default | Priority
 | *camel.sink.path.resourceUri* | Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will lookup the resource in the registry. bean will call a method on a bean to be used as the resource. For bean you can specify the method name after dot, eg bean:myBean.myMethod. | null | HIGH
+| *camel.sink.endpoint.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.sink.endpoint.contentCache* | Sets whether to use resource content cache or not | false | MEDIUM
 | *camel.sink.endpoint.encoding* | Character encoding of the resource content. | null | MEDIUM
 | *camel.sink.endpoint.lazyStartProducer* | 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 cre [...]
@@ -30,6 +31,7 @@ The camel-velocity sink connector supports 11 options, which are listed below.
 | *camel.sink.endpoint.propertiesFile* | The URI of the properties file which is used for VelocityEngine initialization. | null | MEDIUM
 | *camel.sink.endpoint.basicPropertyBinding* | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | MEDIUM
+| *camel.component.velocity.allowTemplateFromHeader* | Whether to allow to use resource template from header or not (default false). Enabling this allows to specify dynamic templates via message header. However this can be seen as a potential security vulnerability if the header is coming from a malicious user, so use this with care. | false | MEDIUM
 | *camel.component.velocity.lazyStartProducer* | 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 the [...]
 | *camel.component.velocity.basicPropertyBinding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | MEDIUM
 | *camel.component.velocity.velocityEngine* | To use the VelocityEngine otherwise a new engine is created | null | MEDIUM