You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gi...@apache.org on 2021/01/14 02:16:04 UTC

[camel-kafka-connector] 06/06: [create-pull-request] automated change

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

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

commit cb12879ae284104633c7cca1f3f87f6422ad5ef7
Author: github-actions[bot] <41...@users.noreply.github.com>
AuthorDate: Wed Jan 13 04:13:34 2021 +0000

    [create-pull-request] automated change
---
 .../resources/connectors/camel-activemq-sink.json  |   4 +-
 .../resources/connectors/camel-amqp-sink.json      |   4 +-
 .../resources/connectors/camel-rabbitmq-sink.json  |  14 +-
 .../connectors/camel-rabbitmq-source.json          |  14 +-
 .../resources/descriptors/connectors.properties    |   2 +
 .../generated/resources/camel-activemq-sink.json   |   4 +-
 .../docs/camel-activemq-kafka-sink-connector.adoc  |   4 +-
 .../activemq/CamelActivemqSinkConnectorConfig.java |   4 +-
 .../src/generated/resources/camel-amqp-sink.json   |   4 +-
 .../main/docs/camel-amqp-kafka-sink-connector.adoc |   4 +-
 .../amqp/CamelAmqpSinkConnectorConfig.java         |   4 +-
 .../generated/resources/camel-rabbitmq-sink.json   |  14 +-
 .../generated/resources/camel-rabbitmq-source.json |  14 +-
 .../docs/camel-rabbitmq-kafka-sink-connector.adoc  |   2 +-
 .../camel-rabbitmq-kafka-source-connector.adoc     |   2 +-
 .../rabbitmq/CamelRabbitmqSinkConnectorConfig.java |   8 +-
 .../CamelRabbitmqSourceConnectorConfig.java        |   8 +-
 .../camel-spring-rabbitmq-kafka-connector/pom.xml  | 139 +++++++++
 .../descriptors/connector-sink.properties          |   1 +
 .../descriptors/connector-source.properties        |   1 +
 .../resources/camel-spring-rabbitmq-sink.json      | 142 +++++++++
 .../resources/camel-spring-rabbitmq-source.json    | 319 +++++++++++++++++++++
 .../src/main/assembly/package.xml                  |  57 ++++
 ...camel-spring-rabbitmq-kafka-sink-connector.adoc |  73 +++++
 ...mel-spring-rabbitmq-kafka-source-connector.adoc |  96 +++++++
 .../CamelSpringrabbitmqSinkConnector.properties    |  33 +++
 .../CamelSpringrabbitmqSourceConnector.properties  |  33 +++
 .../CamelSpringrabbitmqSinkConnector.java          |  35 +++
 .../CamelSpringrabbitmqSinkConnectorConfig.java    | 125 ++++++++
 .../CamelSpringrabbitmqSinkTask.java               |  39 +++
 .../CamelSpringrabbitmqSourceConnector.java        |  35 +++
 .../CamelSpringrabbitmqSourceConnectorConfig.java  | 217 ++++++++++++++
 .../CamelSpringrabbitmqSourceTask.java             |  39 +++
 .../src/main/resources/META-INF/LICENSE.txt        | 203 +++++++++++++
 .../src/main/resources/META-INF/NOTICE.txt         |  11 +
 connectors/pom.xml                                 |   1 +
 docs/modules/ROOT/pages/connectors.adoc            |   3 +-
 .../camel-activemq-kafka-sink-connector.adoc       |   4 +-
 .../camel-amqp-kafka-sink-connector.adoc           |   4 +-
 .../camel-rabbitmq-kafka-sink-connector.adoc       |   2 +-
 .../camel-rabbitmq-kafka-source-connector.adoc     |   2 +-
 ...camel-spring-rabbitmq-kafka-sink-connector.adoc |  73 +++++
 ...mel-spring-rabbitmq-kafka-source-connector.adoc |  96 +++++++
 43 files changed, 1832 insertions(+), 61 deletions(-)

diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-activemq-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-activemq-sink.json
index eb510b0..f56f1c5 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-activemq-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-activemq-sink.json
@@ -133,7 +133,7 @@
 		},
 		"camel.sink.endpoint.priority": {
 			"name": "camel.sink.endpoint.priority",
-			"description": "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
+			"description": "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
 			"defaultValue": "4",
 			"priority": "MEDIUM",
 			"required": "false",
@@ -649,7 +649,7 @@
 		},
 		"camel.component.activemq.priority": {
 			"name": "camel.component.activemq.priority",
-			"description": "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
+			"description": "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
 			"defaultValue": "4",
 			"priority": "MEDIUM",
 			"required": "false",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-amqp-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-amqp-sink.json
index b925bce..6afea23 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-amqp-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-amqp-sink.json
@@ -133,7 +133,7 @@
 		},
 		"camel.sink.endpoint.priority": {
 			"name": "camel.sink.endpoint.priority",
-			"description": "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
+			"description": "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
 			"defaultValue": "4",
 			"priority": "MEDIUM",
 			"required": "false",
@@ -636,7 +636,7 @@
 		},
 		"camel.component.amqp.priority": {
 			"name": "camel.component.amqp.priority",
-			"description": "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
+			"description": "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
 			"defaultValue": "4",
 			"priority": "MEDIUM",
 			"required": "false",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-rabbitmq-sink.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-rabbitmq-sink.json
index 12ca550..61620aa 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-rabbitmq-sink.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-rabbitmq-sink.json
@@ -260,6 +260,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.allowMessageBodySerialization": {
+			"name": "camel.sink.endpoint.allowMessageBodySerialization",
+			"description": "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an attacker to attempt to deserialize to a  [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.args": {
 			"name": "camel.sink.endpoint.args",
 			"description": "Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each: Exchange: arg.exchange. Queue: arg.queue. Binding: arg.binding. DLQ: arg.dlq.queue. DLQ binding: arg.dlq.binding. For example to declare a queue with message ttl argument: http:\/\/localhost:5672\/exchange\/queueargs=arg.queue.x-message-ttl=60000",
@@ -347,13 +354,6 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.sink.endpoint.allowMessageBodySerialization": {
-			"name": "camel.sink.endpoint.allowMessageBodySerialization",
-			"description": "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an attacker to attempt to deserialize to a  [...]
-			"defaultValue": "false",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
 		"camel.sink.endpoint.password": {
 			"name": "camel.sink.endpoint.password",
 			"description": "Password for authenticated access",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-rabbitmq-source.json b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-rabbitmq-source.json
index 0165b98..dfa062c 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-rabbitmq-source.json
+++ b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-rabbitmq-source.json
@@ -263,6 +263,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.source.endpoint.allowMessageBodySerialization": {
+			"name": "camel.source.endpoint.allowMessageBodySerialization",
+			"description": "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an attacker to attempt to deserialize to a  [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.source.endpoint.args": {
 			"name": "camel.source.endpoint.args",
 			"description": "Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each: Exchange: arg.exchange. Queue: arg.queue. Binding: arg.binding. DLQ: arg.dlq.queue. DLQ binding: arg.dlq.binding. For example to declare a queue with message ttl argument: http:\/\/localhost:5672\/exchange\/queueargs=arg.queue.x-message-ttl=60000",
@@ -350,13 +357,6 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.allowMessageBodySerialization": {
-			"name": "camel.source.endpoint.allowMessageBodySerialization",
-			"description": "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an attacker to attempt to deserialize to a  [...]
-			"defaultValue": "false",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
 		"camel.source.endpoint.password": {
 			"name": "camel.source.endpoint.password",
 			"description": "Password for authenticated access",
diff --git a/camel-kafka-connector-catalog/src/generated/resources/descriptors/connectors.properties b/camel-kafka-connector-catalog/src/generated/resources/descriptors/connectors.properties
index f91bb67..13432cd 100644
--- a/camel-kafka-connector-catalog/src/generated/resources/descriptors/connectors.properties
+++ b/camel-kafka-connector-catalog/src/generated/resources/descriptors/connectors.properties
@@ -453,6 +453,8 @@ camel-spring-event-sink
 camel-spring-integration-source
 camel-spring-integration-sink
 camel-spring-ldap-sink
+camel-spring-rabbitmq-source
+camel-spring-rabbitmq-sink
 camel-spring-redis-source
 camel-spring-redis-sink
 camel-spring-ws-source
diff --git a/connectors/camel-activemq-kafka-connector/src/generated/resources/camel-activemq-sink.json b/connectors/camel-activemq-kafka-connector/src/generated/resources/camel-activemq-sink.json
index eb510b0..f56f1c5 100644
--- a/connectors/camel-activemq-kafka-connector/src/generated/resources/camel-activemq-sink.json
+++ b/connectors/camel-activemq-kafka-connector/src/generated/resources/camel-activemq-sink.json
@@ -133,7 +133,7 @@
 		},
 		"camel.sink.endpoint.priority": {
 			"name": "camel.sink.endpoint.priority",
-			"description": "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
+			"description": "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
 			"defaultValue": "4",
 			"priority": "MEDIUM",
 			"required": "false",
@@ -649,7 +649,7 @@
 		},
 		"camel.component.activemq.priority": {
 			"name": "camel.component.activemq.priority",
-			"description": "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
+			"description": "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
 			"defaultValue": "4",
 			"priority": "MEDIUM",
 			"required": "false",
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 a10181e..898d433 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
@@ -45,7 +45,7 @@ The camel-activemq sink connector supports 148 options, which are listed below.
 | *camel.sink.endpoint.formatDateHeadersToIso8601* | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | 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.preserveMessageQos* | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicit [...]
-| *camel.sink.endpoint.priority* | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
+| *camel.sink.endpoint.priority* | Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
 | *camel.sink.endpoint.replyToConcurrentConsumers* | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | false | MEDIUM
 | *camel.sink.endpoint.replyToMaxConcurrentConsumers* | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | null | false | MEDIUM
 | *camel.sink.endpoint.replyToOnTimeoutMaxConcurrent Consumers* | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | false | MEDIUM
@@ -117,7 +117,7 @@ The camel-activemq sink connector supports 148 options, which are listed below.
 | *camel.component.activemq.formatDateHeadersTo Iso8601* | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | false | MEDIUM
 | *camel.component.activemq.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.activemq.preserveMessageQos* | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The exp [...]
-| *camel.component.activemq.priority* | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
+| *camel.component.activemq.priority* | Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
 | *camel.component.activemq.replyToConcurrent Consumers* | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | false | MEDIUM
 | *camel.component.activemq.replyToMaxConcurrent Consumers* | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | null | false | MEDIUM
 | *camel.component.activemq.replyToOnTimeoutMax ConcurrentConsumers* | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | false | 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 696dd6c..cea2367 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
@@ -75,7 +75,7 @@ public class CamelActivemqSinkConnectorConfig
     public static final String CAMEL_SINK_ACTIVEMQ_ENDPOINT_PRESERVE_MESSAGE_QOS_DOC = "Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override [...]
     public static final Boolean CAMEL_SINK_ACTIVEMQ_ENDPOINT_PRESERVE_MESSAGE_QOS_DEFAULT = false;
     public static final String CAMEL_SINK_ACTIVEMQ_ENDPOINT_PRIORITY_CONF = "camel.sink.endpoint.priority";
-    public static final String CAMEL_SINK_ACTIVEMQ_ENDPOINT_PRIORITY_DOC = "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]";
+    public static final String CAMEL_SINK_ACTIVEMQ_ENDPOINT_PRIORITY_DOC = "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]";
     public static final Integer CAMEL_SINK_ACTIVEMQ_ENDPOINT_PRIORITY_DEFAULT = 4;
     public static final String CAMEL_SINK_ACTIVEMQ_ENDPOINT_REPLY_TO_CONCURRENT_CONSUMERS_CONF = "camel.sink.endpoint.replyToConcurrentConsumers";
     public static final String CAMEL_SINK_ACTIVEMQ_ENDPOINT_REPLY_TO_CONCURRENT_CONSUMERS_DOC = "Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.";
@@ -291,7 +291,7 @@ public class CamelActivemqSinkConnectorConfig
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_PRESERVE_MESSAGE_QOS_DOC = "Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers overrid [...]
     public static final Boolean CAMEL_SINK_ACTIVEMQ_COMPONENT_PRESERVE_MESSAGE_QOS_DEFAULT = false;
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_PRIORITY_CONF = "camel.component.activemq.priority";
-    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_PRIORITY_DOC = "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]";
+    public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_PRIORITY_DOC = "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]";
     public static final Integer CAMEL_SINK_ACTIVEMQ_COMPONENT_PRIORITY_DEFAULT = 4;
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_REPLY_TO_CONCURRENT_CONSUMERS_CONF = "camel.component.activemq.replyToConcurrentConsumers";
     public static final String CAMEL_SINK_ACTIVEMQ_COMPONENT_REPLY_TO_CONCURRENT_CONSUMERS_DOC = "Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.";
diff --git a/connectors/camel-amqp-kafka-connector/src/generated/resources/camel-amqp-sink.json b/connectors/camel-amqp-kafka-connector/src/generated/resources/camel-amqp-sink.json
index b925bce..6afea23 100644
--- a/connectors/camel-amqp-kafka-connector/src/generated/resources/camel-amqp-sink.json
+++ b/connectors/camel-amqp-kafka-connector/src/generated/resources/camel-amqp-sink.json
@@ -133,7 +133,7 @@
 		},
 		"camel.sink.endpoint.priority": {
 			"name": "camel.sink.endpoint.priority",
-			"description": "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
+			"description": "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
 			"defaultValue": "4",
 			"priority": "MEDIUM",
 			"required": "false",
@@ -636,7 +636,7 @@
 		},
 		"camel.component.amqp.priority": {
 			"name": "camel.component.amqp.priority",
-			"description": "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
+			"description": "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]",
 			"defaultValue": "4",
 			"priority": "MEDIUM",
 			"required": "false",
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 a54fe3d..c10e993 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
@@ -45,7 +45,7 @@ The camel-amqp sink connector supports 145 options, which are listed below.
 | *camel.sink.endpoint.formatDateHeadersToIso8601* | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | 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.preserveMessageQos* | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicit [...]
-| *camel.sink.endpoint.priority* | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
+| *camel.sink.endpoint.priority* | Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
 | *camel.sink.endpoint.replyToConcurrentConsumers* | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | false | MEDIUM
 | *camel.sink.endpoint.replyToMaxConcurrentConsumers* | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | null | false | MEDIUM
 | *camel.sink.endpoint.replyToOnTimeoutMaxConcurrent Consumers* | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | false | MEDIUM
@@ -115,7 +115,7 @@ The camel-amqp sink connector supports 145 options, which are listed below.
 | *camel.component.amqp.formatDateHeadersToIso8601* | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | false | MEDIUM
 | *camel.component.amqp.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.amqp.preserveMessageQos* | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explici [...]
-| *camel.component.amqp.priority* | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
+| *camel.component.amqp.priority* | Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
 | *camel.component.amqp.replyToConcurrentConsumers* | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | false | MEDIUM
 | *camel.component.amqp.replyToMaxConcurrentConsumers* | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | null | false | MEDIUM
 | *camel.component.amqp.replyToOnTimeoutMaxConcurrent Consumers* | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | false | 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 e0056e0..7de41dd 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
@@ -73,7 +73,7 @@ public class CamelAmqpSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AMQP_ENDPOINT_PRESERVE_MESSAGE_QOS_DOC = "Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the [...]
     public static final Boolean CAMEL_SINK_AMQP_ENDPOINT_PRESERVE_MESSAGE_QOS_DEFAULT = false;
     public static final String CAMEL_SINK_AMQP_ENDPOINT_PRIORITY_CONF = "camel.sink.endpoint.priority";
-    public static final String CAMEL_SINK_AMQP_ENDPOINT_PRIORITY_DOC = "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]";
+    public static final String CAMEL_SINK_AMQP_ENDPOINT_PRIORITY_DOC = "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]";
     public static final Integer CAMEL_SINK_AMQP_ENDPOINT_PRIORITY_DEFAULT = 4;
     public static final String CAMEL_SINK_AMQP_ENDPOINT_REPLY_TO_CONCURRENT_CONSUMERS_CONF = "camel.sink.endpoint.replyToConcurrentConsumers";
     public static final String CAMEL_SINK_AMQP_ENDPOINT_REPLY_TO_CONCURRENT_CONSUMERS_DOC = "Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.";
@@ -283,7 +283,7 @@ public class CamelAmqpSinkConnectorConfig extends CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_AMQP_COMPONENT_PRESERVE_MESSAGE_QOS_DOC = "Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override th [...]
     public static final Boolean CAMEL_SINK_AMQP_COMPONENT_PRESERVE_MESSAGE_QOS_DEFAULT = false;
     public static final String CAMEL_SINK_AMQP_COMPONENT_PRIORITY_CONF = "camel.component.amqp.priority";
-    public static final String CAMEL_SINK_AMQP_COMPONENT_PRIORITY_DOC = "Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]";
+    public static final String CAMEL_SINK_AMQP_COMPONENT_PRIORITY_DOC = "Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9]";
     public static final Integer CAMEL_SINK_AMQP_COMPONENT_PRIORITY_DEFAULT = 4;
     public static final String CAMEL_SINK_AMQP_COMPONENT_REPLY_TO_CONCURRENT_CONSUMERS_CONF = "camel.component.amqp.replyToConcurrentConsumers";
     public static final String CAMEL_SINK_AMQP_COMPONENT_REPLY_TO_CONCURRENT_CONSUMERS_DOC = "Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.";
diff --git a/connectors/camel-rabbitmq-kafka-connector/src/generated/resources/camel-rabbitmq-sink.json b/connectors/camel-rabbitmq-kafka-connector/src/generated/resources/camel-rabbitmq-sink.json
index 12ca550..61620aa 100644
--- a/connectors/camel-rabbitmq-kafka-connector/src/generated/resources/camel-rabbitmq-sink.json
+++ b/connectors/camel-rabbitmq-kafka-connector/src/generated/resources/camel-rabbitmq-sink.json
@@ -260,6 +260,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.sink.endpoint.allowMessageBodySerialization": {
+			"name": "camel.sink.endpoint.allowMessageBodySerialization",
+			"description": "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an attacker to attempt to deserialize to a  [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.sink.endpoint.args": {
 			"name": "camel.sink.endpoint.args",
 			"description": "Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each: Exchange: arg.exchange. Queue: arg.queue. Binding: arg.binding. DLQ: arg.dlq.queue. DLQ binding: arg.dlq.binding. For example to declare a queue with message ttl argument: http:\/\/localhost:5672\/exchange\/queueargs=arg.queue.x-message-ttl=60000",
@@ -347,13 +354,6 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.sink.endpoint.allowMessageBodySerialization": {
-			"name": "camel.sink.endpoint.allowMessageBodySerialization",
-			"description": "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an attacker to attempt to deserialize to a  [...]
-			"defaultValue": "false",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
 		"camel.sink.endpoint.password": {
 			"name": "camel.sink.endpoint.password",
 			"description": "Password for authenticated access",
diff --git a/connectors/camel-rabbitmq-kafka-connector/src/generated/resources/camel-rabbitmq-source.json b/connectors/camel-rabbitmq-kafka-connector/src/generated/resources/camel-rabbitmq-source.json
index 0165b98..dfa062c 100644
--- a/connectors/camel-rabbitmq-kafka-connector/src/generated/resources/camel-rabbitmq-source.json
+++ b/connectors/camel-rabbitmq-kafka-connector/src/generated/resources/camel-rabbitmq-source.json
@@ -263,6 +263,13 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
+		"camel.source.endpoint.allowMessageBodySerialization": {
+			"name": "camel.source.endpoint.allowMessageBodySerialization",
+			"description": "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an attacker to attempt to deserialize to a  [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
 		"camel.source.endpoint.args": {
 			"name": "camel.source.endpoint.args",
 			"description": "Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each: Exchange: arg.exchange. Queue: arg.queue. Binding: arg.binding. DLQ: arg.dlq.queue. DLQ binding: arg.dlq.binding. For example to declare a queue with message ttl argument: http:\/\/localhost:5672\/exchange\/queueargs=arg.queue.x-message-ttl=60000",
@@ -350,13 +357,6 @@
 			"priority": "MEDIUM",
 			"required": "false"
 		},
-		"camel.source.endpoint.allowMessageBodySerialization": {
-			"name": "camel.source.endpoint.allowMessageBodySerialization",
-			"description": "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an attacker to attempt to deserialize to a  [...]
-			"defaultValue": "false",
-			"priority": "MEDIUM",
-			"required": "false"
-		},
 		"camel.source.endpoint.password": {
 			"name": "camel.source.endpoint.password",
 			"description": "Password for authenticated access",
diff --git a/connectors/camel-rabbitmq-kafka-connector/src/main/docs/camel-rabbitmq-kafka-sink-connector.adoc b/connectors/camel-rabbitmq-kafka-connector/src/main/docs/camel-rabbitmq-kafka-sink-connector.adoc
index c5e06ea..4c8a98a 100644
--- a/connectors/camel-rabbitmq-kafka-connector/src/main/docs/camel-rabbitmq-kafka-sink-connector.adoc
+++ b/connectors/camel-rabbitmq-kafka-connector/src/main/docs/camel-rabbitmq-kafka-sink-connector.adoc
@@ -65,6 +65,7 @@ The camel-rabbitmq sink connector supports 101 options, which are listed below.
 | *camel.sink.endpoint.mandatory* | This flag tells the server how to react if the message cannot be routed to a queue. If this flag is set, the server will return an unroutable message with a Return method. If this flag is zero, the server silently drops the message. If the header is present rabbitmq.MANDATORY it will override this option. | false | false | MEDIUM
 | *camel.sink.endpoint.publisherAcknowledgements* | When true, the message will be published with publisher acknowledgements turned on | false | false | MEDIUM
 | *camel.sink.endpoint.publisherAcknowledgements Timeout* | The amount of time in milliseconds to wait for a basic.ack response from RabbitMQ server | null | false | MEDIUM
+| *camel.sink.endpoint.allowMessageBodySerialization* | Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an att [...]
 | *camel.sink.endpoint.args* | Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each: Exchange: arg.exchange. Queue: arg.queue. Binding: arg.binding. DLQ: arg.dlq.queue. DLQ binding: arg.dlq.binding. For example to declare a queue with message ttl argument: \http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 | null | false | MEDIUM
 | *camel.sink.endpoint.clientProperties* | Connection client properties (client info used in negotiating with the server) | null | false | MEDIUM
 | *camel.sink.endpoint.connectionFactoryException Handler* | Custom rabbitmq ExceptionHandler for ConnectionFactory | null | false | MEDIUM
@@ -78,7 +79,6 @@ The camel-rabbitmq sink connector supports 101 options, which are listed below.
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | false | MEDIUM
 | *camel.sink.endpoint.topologyRecoveryEnabled* | Enables connection topology recovery (should topology recovery be performed) | null | false | MEDIUM
 | *camel.sink.endpoint.transferException* | When true and an inOut Exchange failed on the consumer side send the caused Exception back in the response | false | false | MEDIUM
-| *camel.sink.endpoint.allowMessageBodySerialization* | Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an att [...]
 | *camel.sink.endpoint.password* | Password for authenticated access | "guest" | false | MEDIUM
 | *camel.sink.endpoint.sslProtocol* | Enables SSL on connection, accepted value are true, TLS and 'SSLv3 | null | false | MEDIUM
 | *camel.sink.endpoint.trustManager* | Configure SSL trust manager, SSL should be enabled for this option to be effective | null | false | MEDIUM
diff --git a/connectors/camel-rabbitmq-kafka-connector/src/main/docs/camel-rabbitmq-kafka-source-connector.adoc b/connectors/camel-rabbitmq-kafka-connector/src/main/docs/camel-rabbitmq-kafka-source-connector.adoc
index 64f9e37..1f3e0c0 100644
--- a/connectors/camel-rabbitmq-kafka-connector/src/main/docs/camel-rabbitmq-kafka-source-connector.adoc
+++ b/connectors/camel-rabbitmq-kafka-connector/src/main/docs/camel-rabbitmq-kafka-source-connector.adoc
@@ -65,6 +65,7 @@ The camel-rabbitmq source connector supports 98 options, which are listed below.
 | *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 | false | MEDIUM
 | *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | false | MEDIUM
 | *camel.source.endpoint.threadPoolSize* | The consumer uses a Thread Pool Executor with a fixed number of threads. This setting allows you to set that number of threads. | 10 | false | MEDIUM
+| *camel.source.endpoint.allowMessageBody Serialization* | Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an  [...]
 | *camel.source.endpoint.args* | Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each: Exchange: arg.exchange. Queue: arg.queue. Binding: arg.binding. DLQ: arg.dlq.queue. DLQ binding: arg.dlq.binding. For example to declare a queue with message ttl argument: \http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 | null | false | MEDIUM
 | *camel.source.endpoint.clientProperties* | Connection client properties (client info used in negotiating with the server) | null | false | MEDIUM
 | *camel.source.endpoint.connectionFactoryException Handler* | Custom rabbitmq ExceptionHandler for ConnectionFactory | null | false | MEDIUM
@@ -78,7 +79,6 @@ The camel-rabbitmq source connector supports 98 options, which are listed below.
 | *camel.source.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | false | MEDIUM
 | *camel.source.endpoint.topologyRecoveryEnabled* | Enables connection topology recovery (should topology recovery be performed) | null | false | MEDIUM
 | *camel.source.endpoint.transferException* | When true and an inOut Exchange failed on the consumer side send the caused Exception back in the response | false | false | MEDIUM
-| *camel.source.endpoint.allowMessageBody Serialization* | Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an  [...]
 | *camel.source.endpoint.password* | Password for authenticated access | "guest" | false | MEDIUM
 | *camel.source.endpoint.sslProtocol* | Enables SSL on connection, accepted value are true, TLS and 'SSLv3 | null | false | MEDIUM
 | *camel.source.endpoint.trustManager* | Configure SSL trust manager, SSL should be enabled for this option to be effective | null | false | MEDIUM
diff --git a/connectors/camel-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rabbitmq/CamelRabbitmqSinkConnectorConfig.java b/connectors/camel-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rabbitmq/CamelRabbitmqSinkConnectorConfig.java
index 3fc4da5..8e1faa8 100644
--- a/connectors/camel-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rabbitmq/CamelRabbitmqSinkConnectorConfig.java
+++ b/connectors/camel-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rabbitmq/CamelRabbitmqSinkConnectorConfig.java
@@ -134,6 +134,9 @@ public class CamelRabbitmqSinkConnectorConfig
     public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_PUBLISHER_ACKNOWLEDGEMENTS_TIMEOUT_CONF = "camel.sink.endpoint.publisherAcknowledgementsTimeout";
     public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_PUBLISHER_ACKNOWLEDGEMENTS_TIMEOUT_DOC = "The amount of time in milliseconds to wait for a basic.ack response from RabbitMQ server";
     public static final Long CAMEL_SINK_RABBITMQ_ENDPOINT_PUBLISHER_ACKNOWLEDGEMENTS_TIMEOUT_DEFAULT = null;
+    public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_CONF = "camel.sink.endpoint.allowMessageBodySerialization";
+    public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DOC = "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce  [...]
+    public static final Boolean CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DEFAULT = false;
     public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_ARGS_CONF = "camel.sink.endpoint.args";
     public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_ARGS_DOC = "Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each: Exchange: arg.exchange. Queue: arg.queue. Binding: arg.binding. DLQ: arg.dlq.queue. DLQ binding: arg.dlq.binding. For example to declare a queue with message ttl argument: http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000";
     public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_ARGS_DEFAULT = null;
@@ -173,9 +176,6 @@ public class CamelRabbitmqSinkConnectorConfig
     public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_CONF = "camel.sink.endpoint.transferException";
     public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_DOC = "When true and an inOut Exchange failed on the consumer side send the caused Exception back in the response";
     public static final Boolean CAMEL_SINK_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_DEFAULT = false;
-    public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_CONF = "camel.sink.endpoint.allowMessageBodySerialization";
-    public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DOC = "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce  [...]
-    public static final Boolean CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DEFAULT = false;
     public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_PASSWORD_CONF = "camel.sink.endpoint.password";
     public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_PASSWORD_DOC = "Password for authenticated access";
     public static final String CAMEL_SINK_RABBITMQ_ENDPOINT_PASSWORD_DEFAULT = "guest";
@@ -378,6 +378,7 @@ public class CamelRabbitmqSinkConnectorConfig
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_MANDATORY_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_RABBITMQ_ENDPOINT_MANDATORY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_MANDATORY_DOC);
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_PUBLISHER_ACKNOWLEDGEMENTS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_RABBITMQ_ENDPOINT_PUBLISHER_ACKNOWLEDGEMENTS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_PUBLISHER_ACKNOWLEDGEMENTS_DOC);
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_PUBLISHER_ACKNOWLEDGEMENTS_TIMEOUT_CONF, ConfigDef.Type.LONG, CAMEL_SINK_RABBITMQ_ENDPOINT_PUBLISHER_ACKNOWLEDGEMENTS_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_PUBLISHER_ACKNOWLEDGEMENTS_TIMEOUT_DOC);
+        conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DOC);
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_ARGS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_RABBITMQ_ENDPOINT_ARGS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_ARGS_DOC);
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_CLIENT_PROPERTIES_CONF, ConfigDef.Type.STRING, CAMEL_SINK_RABBITMQ_ENDPOINT_CLIENT_PROPERTIES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_CLIENT_PROPERTIES_DOC);
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_CONNECTION_FACTORY_EXCEPTION_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_RABBITMQ_ENDPOINT_CONNECTION_FACTORY_EXCEPTION_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_CONNECTION_FACTORY_EXCEPTION_HANDLER_DOC);
@@ -391,7 +392,6 @@ public class CamelRabbitmqSinkConnectorConfig
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_RABBITMQ_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_SYNCHRONOUS_DOC);
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_TOPOLOGY_RECOVERY_ENABLED_CONF, ConfigDef.Type.STRING, CAMEL_SINK_RABBITMQ_ENDPOINT_TOPOLOGY_RECOVERY_ENABLED_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_TOPOLOGY_RECOVERY_ENABLED_DOC);
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_DOC);
-        conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DOC);
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_PASSWORD_CONF, ConfigDef.Type.STRING, CAMEL_SINK_RABBITMQ_ENDPOINT_PASSWORD_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_PASSWORD_DOC);
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_SSL_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SINK_RABBITMQ_ENDPOINT_SSL_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_SSL_PROTOCOL_DOC);
         conf.define(CAMEL_SINK_RABBITMQ_ENDPOINT_TRUST_MANAGER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_RABBITMQ_ENDPOINT_TRUST_MANAGER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_RABBITMQ_ENDPOINT_TRUST_MANAGER_DOC);
diff --git a/connectors/camel-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rabbitmq/CamelRabbitmqSourceConnectorConfig.java b/connectors/camel-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rabbitmq/CamelRabbitmqSourceConnectorConfig.java
index 2541065..cae875b 100644
--- a/connectors/camel-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rabbitmq/CamelRabbitmqSourceConnectorConfig.java
+++ b/connectors/camel-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/rabbitmq/CamelRabbitmqSourceConnectorConfig.java
@@ -134,6 +134,9 @@ public class CamelRabbitmqSourceConnectorConfig
     public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_THREAD_POOL_SIZE_CONF = "camel.source.endpoint.threadPoolSize";
     public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_THREAD_POOL_SIZE_DOC = "The consumer uses a Thread Pool Executor with a fixed number of threads. This setting allows you to set that number of threads.";
     public static final Integer CAMEL_SOURCE_RABBITMQ_ENDPOINT_THREAD_POOL_SIZE_DEFAULT = 10;
+    public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_CONF = "camel.source.endpoint.allowMessageBodySerialization";
+    public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DOC = "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduc [...]
+    public static final Boolean CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DEFAULT = false;
     public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_ARGS_CONF = "camel.source.endpoint.args";
     public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_ARGS_DOC = "Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each: Exchange: arg.exchange. Queue: arg.queue. Binding: arg.binding. DLQ: arg.dlq.queue. DLQ binding: arg.dlq.binding. For example to declare a queue with message ttl argument: http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000";
     public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_ARGS_DEFAULT = null;
@@ -173,9 +176,6 @@ public class CamelRabbitmqSourceConnectorConfig
     public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_CONF = "camel.source.endpoint.transferException";
     public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_DOC = "When true and an inOut Exchange failed on the consumer side send the caused Exception back in the response";
     public static final Boolean CAMEL_SOURCE_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_DEFAULT = false;
-    public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_CONF = "camel.source.endpoint.allowMessageBodySerialization";
-    public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DOC = "Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduc [...]
-    public static final Boolean CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DEFAULT = false;
     public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_PASSWORD_CONF = "camel.source.endpoint.password";
     public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_PASSWORD_DOC = "Password for authenticated access";
     public static final String CAMEL_SOURCE_RABBITMQ_ENDPOINT_PASSWORD_DEFAULT = "guest";
@@ -369,6 +369,7 @@ public class CamelRabbitmqSourceConnectorConfig
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_EXCEPTION_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_RABBITMQ_ENDPOINT_EXCEPTION_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_EXCEPTION_HANDLER_DOC);
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_EXCHANGE_PATTERN_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_RABBITMQ_ENDPOINT_EXCHANGE_PATTERN_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_EXCHANGE_PATTERN_DOC);
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_THREAD_POOL_SIZE_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_RABBITMQ_ENDPOINT_THREAD_POOL_SIZE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_THREAD_POOL_SIZE_DOC);
+        conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DOC);
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_ARGS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_RABBITMQ_ENDPOINT_ARGS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_ARGS_DOC);
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_CLIENT_PROPERTIES_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_RABBITMQ_ENDPOINT_CLIENT_PROPERTIES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_CLIENT_PROPERTIES_DOC);
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_CONNECTION_FACTORY_EXCEPTION_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_RABBITMQ_ENDPOINT_CONNECTION_FACTORY_EXCEPTION_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_CONNECTION_FACTORY_EXCEPTION_HANDLER_DOC);
@@ -382,7 +383,6 @@ public class CamelRabbitmqSourceConnectorConfig
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_RABBITMQ_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_SYNCHRONOUS_DOC);
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_TOPOLOGY_RECOVERY_ENABLED_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_RABBITMQ_ENDPOINT_TOPOLOGY_RECOVERY_ENABLED_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_TOPOLOGY_RECOVERY_ENABLED_DOC);
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_TRANSFER_EXCEPTION_DOC);
-        conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_ALLOW_MESSAGE_BODY_SERIALIZATION_DOC);
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_PASSWORD_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_RABBITMQ_ENDPOINT_PASSWORD_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_PASSWORD_DOC);
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_SSL_PROTOCOL_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_RABBITMQ_ENDPOINT_SSL_PROTOCOL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_SSL_PROTOCOL_DOC);
         conf.define(CAMEL_SOURCE_RABBITMQ_ENDPOINT_TRUST_MANAGER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_RABBITMQ_ENDPOINT_TRUST_MANAGER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_RABBITMQ_ENDPOINT_TRUST_MANAGER_DOC);
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/pom.xml b/connectors/camel-spring-rabbitmq-kafka-connector/pom.xml
new file mode 100644
index 0000000..d956310
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/pom.xml
@@ -0,0 +1,139 @@
+<?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.8.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>camel-spring-rabbitmq-kafka-connector</artifactId>
+  <name>Camel-Kafka-Connector :: spring-rabbitmq</name>
+  <description>Camel Kafka Connector for spring-rabbitmq</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-spring-rabbitmq</artifactId>
+    </dependency>
+    <!--START OF GENERATED CODE-->
+    <dependency>
+      <groupId>org.apache.camel.kafkaconnector</groupId>
+      <artifactId>camel-kafka-connector</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-jackson</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-spring-rabbitmq-kafka-connector/src/generated/descriptors/connector-sink.properties b/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/descriptors/connector-sink.properties
new file mode 100644
index 0000000..99403a1
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/descriptors/connector-sink.properties
@@ -0,0 +1 @@
+camel-spring-rabbitmq-sink
\ No newline at end of file
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/descriptors/connector-source.properties b/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/descriptors/connector-source.properties
new file mode 100644
index 0000000..20e8e07
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/descriptors/connector-source.properties
@@ -0,0 +1 @@
+camel-spring-rabbitmq-source
\ No newline at end of file
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/resources/camel-spring-rabbitmq-sink.json b/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/resources/camel-spring-rabbitmq-sink.json
new file mode 100644
index 0000000..36bfb29
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/resources/camel-spring-rabbitmq-sink.json
@@ -0,0 +1,142 @@
+{
+	"connector": {
+		"class": "org.apache.camel.kafkaconnector.springrabbitmq.CamelSpringrabbitmqSinkConnector",
+		"artifactId": "camel-spring-rabbitmq-kafka-connector",
+		"groupId": "org.apache.camel.kafkaconnector",
+		"id": "camel-spring-rabbitmq-sink",
+		"type": "sink",
+		"version": "0.8.0-SNAPSHOT",
+		"description": "Send and receive messages from RabbitMQ using Spring RabbitMQ client."
+	},
+	"properties": {
+		"camel.sink.path.exchangeName": {
+			"name": "camel.sink.path.exchangeName",
+			"description": "The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead.",
+			"priority": "HIGH",
+			"required": "true"
+		},
+		"camel.sink.endpoint.connectionFactory": {
+			"name": "camel.sink.endpoint.connectionFactory",
+			"description": "The connection factory to be use. A connection factory must be configured either on the component or endpoint.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.disableReplyTo": {
+			"name": "camel.sink.endpoint.disableReplyTo",
+			"description": "Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo 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 message brokers and you want to [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.routingKey": {
+			"name": "camel.sink.endpoint.routingKey",
+			"description": "The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.testConnectionOnStartup": {
+			"name": "camel.sink.endpoint.testConnectionOnStartup",
+			"description": "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.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.lazyStartProducer": {
+			"name": "camel.sink.endpoint.lazyStartProducer",
+			"description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the pr [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.replyTimeout": {
+			"name": "camel.sink.endpoint.replyTimeout",
+			"description": "Specify the timeout in milliseconds to be used when waiting for a reply message when doing request\/reply messaging. The default value is 5 seconds. A negative value indicates an indefinite timeout.",
+			"defaultValue": "5000L",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.args": {
+			"name": "camel.sink.endpoint.args",
+			"description": "Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.messageConverter": {
+			"name": "camel.sink.endpoint.messageConverter",
+			"description": "To use a custom MessageConverter so you can be in control how to map to\/from a org.springframework.amqp.core.Message.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.messagePropertiesConverter": {
+			"name": "camel.sink.endpoint.messagePropertiesConverter",
+			"description": "To use a custom MessagePropertiesConverter so you can be in control how to map to\/from a org.springframework.amqp.core.MessageProperties.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.sink.endpoint.synchronous": {
+			"name": "camel.sink.endpoint.synchronous",
+			"description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.amqpAdmin": {
+			"name": "camel.component.spring-rabbitmq.amqpAdmin",
+			"description": "Optional AMQP Admin service to use for auto declaring elements (queues, exchanges, bindings)",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.connectionFactory": {
+			"name": "camel.component.spring-rabbitmq.connectionFactory",
+			"description": "The connection factory to be use. A connection factory must be configured either on the component or endpoint.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.testConnectionOnStartup": {
+			"name": "camel.component.spring-rabbitmq.testConnectionOnStartup",
+			"description": "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.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.lazyStartProducer": {
+			"name": "camel.component.spring-rabbitmq.lazyStartProducer",
+			"description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the pr [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.autowiredEnabled": {
+			"name": "camel.component.spring-rabbitmq.autowiredEnabled",
+			"description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.ignoreDeclarationExceptions": {
+			"name": "camel.component.spring-rabbitmq.ignoreDeclarationExceptions",
+			"description": "Switch on ignore exceptions such as mismatched properties when declaring",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.messageConverter": {
+			"name": "camel.component.spring-rabbitmq.messageConverter",
+			"description": "To use a custom MessageConverter so you can be in control how to map to\/from a org.springframework.amqp.core.Message.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.messagePropertiesConverter": {
+			"name": "camel.component.spring-rabbitmq.messagePropertiesConverter",
+			"description": "To use a custom MessagePropertiesConverter so you can be in control how to map to\/from a org.springframework.amqp.core.MessageProperties.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.headerFilterStrategy": {
+			"name": "camel.component.spring-rabbitmq.headerFilterStrategy",
+			"description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.",
+			"priority": "MEDIUM",
+			"required": "false"
+		}
+	}
+}
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/resources/camel-spring-rabbitmq-source.json b/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/resources/camel-spring-rabbitmq-source.json
new file mode 100644
index 0000000..ea1617a
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/generated/resources/camel-spring-rabbitmq-source.json
@@ -0,0 +1,319 @@
+{
+	"connector": {
+		"class": "org.apache.camel.kafkaconnector.springrabbitmq.CamelSpringrabbitmqSourceConnector",
+		"artifactId": "camel-spring-rabbitmq-kafka-connector",
+		"groupId": "org.apache.camel.kafkaconnector",
+		"id": "camel-spring-rabbitmq-source",
+		"type": "source",
+		"version": "0.8.0-SNAPSHOT",
+		"description": "Send and receive messages from RabbitMQ using Spring RabbitMQ client."
+	},
+	"properties": {
+		"camel.source.path.exchangeName": {
+			"name": "camel.source.path.exchangeName",
+			"description": "The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead.",
+			"priority": "HIGH",
+			"required": "true"
+		},
+		"camel.source.endpoint.connectionFactory": {
+			"name": "camel.source.endpoint.connectionFactory",
+			"description": "The connection factory to be use. A connection factory must be configured either on the component or endpoint.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.disableReplyTo": {
+			"name": "camel.source.endpoint.disableReplyTo",
+			"description": "Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo 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 message brokers and you want to [...]
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.routingKey": {
+			"name": "camel.source.endpoint.routingKey",
+			"description": "The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.testConnectionOnStartup": {
+			"name": "camel.source.endpoint.testConnectionOnStartup",
+			"description": "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.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.acknowledgeMode": {
+			"name": "camel.source.endpoint.acknowledgeMode",
+			"description": "Flag controlling the behaviour of the container with respect to message acknowledgement. The most common usage is to let the container handle the acknowledgements (so the listener doesn't need to know about the channel or the message). Set to AcknowledgeMode.MANUAL if the listener will send the acknowledgements itself using Channel.basicAck(long, boolean). Manual acks are consistent with either a transactional or non-transactional channel, but if you are doing no other [...]
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"NONE",
+				"MANUAL",
+				"AUTO"
+			]
+		},
+		"camel.source.endpoint.asyncConsumer": {
+			"name": "camel.source.endpoint.asyncConsumer",
+			"description": "Whether the consumer processes the Exchange asynchronously. If enabled then the consumer may pickup the next message from the 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 consumer will pickup the next message from the queue.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.autoDeclare": {
+			"name": "camel.source.endpoint.autoDeclare",
+			"description": "Specifies whether the consumer should auto declare binding between exchange, queue and routing key when starting.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.autoStartup": {
+			"name": "camel.source.endpoint.autoStartup",
+			"description": "Specifies whether the consumer container should auto-startup.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.bridgeErrorHandler": {
+			"name": "camel.source.endpoint.bridgeErrorHandler",
+			"description": "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.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.deadLetterExchange": {
+			"name": "camel.source.endpoint.deadLetterExchange",
+			"description": "The name of the dead letter exchange",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.deadLetterExchangeType": {
+			"name": "camel.source.endpoint.deadLetterExchangeType",
+			"description": "The type of the dead letter exchange One of: [direct] [fanout] [headers] [topic]",
+			"defaultValue": "\"direct\"",
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"direct",
+				"fanout",
+				"headers",
+				"topic"
+			]
+		},
+		"camel.source.endpoint.deadLetterQueue": {
+			"name": "camel.source.endpoint.deadLetterQueue",
+			"description": "The name of the dead letter queue",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.deadLetterRoutingKey": {
+			"name": "camel.source.endpoint.deadLetterRoutingKey",
+			"description": "The routing key for the dead letter exchange",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.exchangeType": {
+			"name": "camel.source.endpoint.exchangeType",
+			"description": "The type of the exchange One of: [direct] [fanout] [headers] [topic]",
+			"defaultValue": "\"direct\"",
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"direct",
+				"fanout",
+				"headers",
+				"topic"
+			]
+		},
+		"camel.source.endpoint.exclusive": {
+			"name": "camel.source.endpoint.exclusive",
+			"description": "Set to true for an exclusive consumer",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.noLocal": {
+			"name": "camel.source.endpoint.noLocal",
+			"description": "Set to true for an no-local consumer",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.queues": {
+			"name": "camel.source.endpoint.queues",
+			"description": "The queue(s) to use for consuming messages. Multiple queue names can be separated by comma. If none has been configured then Camel will generate an unique id as the queue name for the consumer.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.exceptionHandler": {
+			"name": "camel.source.endpoint.exceptionHandler",
+			"description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.exchangePattern": {
+			"name": "camel.source.endpoint.exchangePattern",
+			"description": "Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut]",
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"InOnly",
+				"InOut",
+				"InOptionalOut"
+			]
+		},
+		"camel.source.endpoint.args": {
+			"name": "camel.source.endpoint.args",
+			"description": "Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.messageConverter": {
+			"name": "camel.source.endpoint.messageConverter",
+			"description": "To use a custom MessageConverter so you can be in control how to map to\/from a org.springframework.amqp.core.Message.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.messagePropertiesConverter": {
+			"name": "camel.source.endpoint.messagePropertiesConverter",
+			"description": "To use a custom MessagePropertiesConverter so you can be in control how to map to\/from a org.springframework.amqp.core.MessageProperties.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.source.endpoint.synchronous": {
+			"name": "camel.source.endpoint.synchronous",
+			"description": "Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.amqpAdmin": {
+			"name": "camel.component.spring-rabbitmq.amqpAdmin",
+			"description": "Optional AMQP Admin service to use for auto declaring elements (queues, exchanges, bindings)",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.connectionFactory": {
+			"name": "camel.component.spring-rabbitmq.connectionFactory",
+			"description": "The connection factory to be use. A connection factory must be configured either on the component or endpoint.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.testConnectionOnStartup": {
+			"name": "camel.component.spring-rabbitmq.testConnectionOnStartup",
+			"description": "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.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.autoDeclare": {
+			"name": "camel.component.spring-rabbitmq.autoDeclare",
+			"description": "Specifies whether the consumer should auto declare binding between exchange, queue and routing key when starting. Enabling this can be good for development to make it easy to standup exchanges, queues and bindings on the broker.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.autoStartup": {
+			"name": "camel.component.spring-rabbitmq.autoStartup",
+			"description": "Specifies whether the consumer container should auto-startup.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.bridgeErrorHandler": {
+			"name": "camel.component.spring-rabbitmq.bridgeErrorHandler",
+			"description": "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.",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.deadLetterExchange": {
+			"name": "camel.component.spring-rabbitmq.deadLetterExchange",
+			"description": "The name of the dead letter exchange",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.deadLetterExchangeType": {
+			"name": "camel.component.spring-rabbitmq.deadLetterExchangeType",
+			"description": "The type of the dead letter exchange One of: [direct] [fanout] [headers] [topic]",
+			"defaultValue": "\"direct\"",
+			"priority": "MEDIUM",
+			"required": "false",
+			"enum": [
+				"direct",
+				"fanout",
+				"headers",
+				"topic"
+			]
+		},
+		"camel.component.spring-rabbitmq.deadLetterQueue": {
+			"name": "camel.component.spring-rabbitmq.deadLetterQueue",
+			"description": "The name of the dead letter queue",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.deadLetterRoutingKey": {
+			"name": "camel.component.spring-rabbitmq.deadLetterRoutingKey",
+			"description": "The routing key for the dead letter exchange",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.errorHandler": {
+			"name": "camel.component.spring-rabbitmq.errorHandler",
+			"description": "To use a custom ErrorHandler for handling exceptions from the message listener (consumer)",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.listenerContainerFactory": {
+			"name": "camel.component.spring-rabbitmq.listenerContainerFactory",
+			"description": "To use a custom factory for creating and configuring ListenerContainer to be used by the consumer for receiving messages",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.prefetchCount": {
+			"name": "camel.component.spring-rabbitmq.prefetchCount",
+			"description": "Tell the broker how many messages to send to each consumer in a single request. Often this can be set quite high to improve throughput.",
+			"defaultValue": "250",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.shutdownTimeout": {
+			"name": "camel.component.spring-rabbitmq.shutdownTimeout",
+			"description": "The time to wait for workers in milliseconds after the container is stopped. If any workers are active when the shutdown signal comes they will be allowed to finish processing as long as they can finish within this timeout.",
+			"defaultValue": "5000L",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.autowiredEnabled": {
+			"name": "camel.component.spring-rabbitmq.autowiredEnabled",
+			"description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
+			"defaultValue": "true",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.ignoreDeclarationExceptions": {
+			"name": "camel.component.spring-rabbitmq.ignoreDeclarationExceptions",
+			"description": "Switch on ignore exceptions such as mismatched properties when declaring",
+			"defaultValue": "false",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.messageConverter": {
+			"name": "camel.component.spring-rabbitmq.messageConverter",
+			"description": "To use a custom MessageConverter so you can be in control how to map to\/from a org.springframework.amqp.core.Message.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.messagePropertiesConverter": {
+			"name": "camel.component.spring-rabbitmq.messagePropertiesConverter",
+			"description": "To use a custom MessagePropertiesConverter so you can be in control how to map to\/from a org.springframework.amqp.core.MessageProperties.",
+			"priority": "MEDIUM",
+			"required": "false"
+		},
+		"camel.component.spring-rabbitmq.headerFilterStrategy": {
+			"name": "camel.component.spring-rabbitmq.headerFilterStrategy",
+			"description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.",
+			"priority": "MEDIUM",
+			"required": "false"
+		}
+	}
+}
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/assembly/package.xml b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/assembly/package.xml
new file mode 100644
index 0000000..4fd2529
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-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}/src/main/docs</directory>
+      <outputDirectory>docs/</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-spring-rabbitmq-kafka-connector/src/main/docs/camel-spring-rabbitmq-kafka-sink-connector.adoc b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/camel-spring-rabbitmq-kafka-sink-connector.adoc
new file mode 100644
index 0000000..483e5ea
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/camel-spring-rabbitmq-kafka-sink-connector.adoc
@@ -0,0 +1,73 @@
+// kafka-connector options: START
+[[camel-spring-rabbitmq-kafka-connector-sink]]
+= camel-spring-rabbitmq-kafka-connector sink configuration
+
+When using camel-spring-rabbitmq-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-spring-rabbitmq-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Sink connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.springrabbitmq.CamelSpringrabbitmqSinkConnector
+----
+
+
+The camel-spring-rabbitmq sink connector supports 20 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.sink.path.exchangeName* | The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead. | null | true | HIGH
+| *camel.sink.endpoint.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | false | MEDIUM
+| *camel.sink.endpoint.disableReplyTo* | Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo 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 message b [...]
+| *camel.sink.endpoint.routingKey* | The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance. | null | false | MEDIUM
+| *camel.sink.endpoint.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 | 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.replyTimeout* | Specify the timeout in milliseconds to be used when waiting for a reply message when doing request/reply messaging. The default value is 5 seconds. A negative value indicates an indefinite timeout. | 5000L | false | MEDIUM
+| *camel.sink.endpoint.args* | Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000 | null | false | MEDIUM
+| *camel.sink.endpoint.messageConverter* | To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message. | null | false | MEDIUM
+| *camel.sink.endpoint.messagePropertiesConverter* | To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties. | null | 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 | false | MEDIUM
+| *camel.component.spring-rabbitmq.amqpAdmin* | Optional AMQP Admin service to use for auto declaring elements (queues, exchanges, bindings) | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.testConnectionOn Startup* | 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 | false | MEDIUM
+| *camel.component.spring-rabbitmq.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.spring-rabbitmq.autowiredEnabled* | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | false | MEDIUM
+| *camel.component.spring-rabbitmq.ignoreDeclaration Exceptions* | Switch on ignore exceptions such as mismatched properties when declaring | false | false | MEDIUM
+| *camel.component.spring-rabbitmq.messageConverter* | To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.messageProperties Converter* | To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.headerFilter Strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. | null | false | MEDIUM
+|===
+
+
+
+The camel-spring-rabbitmq sink connector has no converters out of the box.
+
+
+
+
+
+The camel-spring-rabbitmq sink connector has no transforms out of the box.
+
+
+
+
+
+The camel-spring-rabbitmq sink connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/camel-spring-rabbitmq-kafka-source-connector.adoc b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/camel-spring-rabbitmq-kafka-source-connector.adoc
new file mode 100644
index 0000000..1eb7e4a
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/camel-spring-rabbitmq-kafka-source-connector.adoc
@@ -0,0 +1,96 @@
+// kafka-connector options: START
+[[camel-spring-rabbitmq-kafka-connector-source]]
+= camel-spring-rabbitmq-kafka-connector source configuration
+
+When using camel-spring-rabbitmq-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-spring-rabbitmq-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Source connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.springrabbitmq.CamelSpringrabbitmqSourceConnector
+----
+
+
+The camel-spring-rabbitmq source connector supports 43 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.source.path.exchangeName* | The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead. | null | true | HIGH
+| *camel.source.endpoint.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | false | MEDIUM
+| *camel.source.endpoint.disableReplyTo* | Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo 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 message [...]
+| *camel.source.endpoint.routingKey* | The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance. | null | false | MEDIUM
+| *camel.source.endpoint.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 | false | MEDIUM
+| *camel.source.endpoint.acknowledgeMode* | Flag controlling the behaviour of the container with respect to message acknowledgement. The most common usage is to let the container handle the acknowledgements (so the listener doesn't need to know about the channel or the message). Set to AcknowledgeMode.MANUAL if the listener will send the acknowledgements itself using Channel.basicAck(long, boolean). Manual acks are consistent with either a transactional or non-transactional channel, but  [...]
+| *camel.source.endpoint.asyncConsumer* | Whether the consumer processes the Exchange asynchronously. If enabled then the consumer may pickup the next message from the 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 consumer will pickup the next message from the queue. | false | false | MEDIUM
+| *camel.source.endpoint.autoDeclare* | Specifies whether the consumer should auto declare binding between exchange, queue and routing key when starting. | true | false | MEDIUM
+| *camel.source.endpoint.autoStartup* | Specifies whether the consumer container should auto-startup. | true | false | 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 | false | MEDIUM
+| *camel.source.endpoint.deadLetterExchange* | The name of the dead letter exchange | null | false | MEDIUM
+| *camel.source.endpoint.deadLetterExchangeType* | The type of the dead letter exchange One of: [direct] [fanout] [headers] [topic] | "direct" | false | MEDIUM
+| *camel.source.endpoint.deadLetterQueue* | The name of the dead letter queue | null | false | MEDIUM
+| *camel.source.endpoint.deadLetterRoutingKey* | The routing key for the dead letter exchange | null | false | MEDIUM
+| *camel.source.endpoint.exchangeType* | The type of the exchange One of: [direct] [fanout] [headers] [topic] | "direct" | false | MEDIUM
+| *camel.source.endpoint.exclusive* | Set to true for an exclusive consumer | false | false | MEDIUM
+| *camel.source.endpoint.noLocal* | Set to true for an no-local consumer | false | false | MEDIUM
+| *camel.source.endpoint.queues* | The queue(s) to use for consuming messages. Multiple queue names can be separated by comma. If none has been configured then Camel will generate an unique id as the queue name for the consumer. | null | 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 | false | MEDIUM
+| *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | false | MEDIUM
+| *camel.source.endpoint.args* | Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000 | null | false | MEDIUM
+| *camel.source.endpoint.messageConverter* | To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message. | null | false | MEDIUM
+| *camel.source.endpoint.messagePropertiesConverter* | To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties. | null | 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 | false | MEDIUM
+| *camel.component.spring-rabbitmq.amqpAdmin* | Optional AMQP Admin service to use for auto declaring elements (queues, exchanges, bindings) | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.testConnectionOn Startup* | 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 | false | MEDIUM
+| *camel.component.spring-rabbitmq.autoDeclare* | Specifies whether the consumer should auto declare binding between exchange, queue and routing key when starting. Enabling this can be good for development to make it easy to standup exchanges, queues and bindings on the broker. | false | false | MEDIUM
+| *camel.component.spring-rabbitmq.autoStartup* | Specifies whether the consumer container should auto-startup. | true | false | MEDIUM
+| *camel.component.spring-rabbitmq.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 | false | MEDIUM
+| *camel.component.spring-rabbitmq.deadLetterExchange* | The name of the dead letter exchange | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.deadLetterExchange Type* | The type of the dead letter exchange One of: [direct] [fanout] [headers] [topic] | "direct" | false | MEDIUM
+| *camel.component.spring-rabbitmq.deadLetterQueue* | The name of the dead letter queue | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.deadLetterRouting Key* | The routing key for the dead letter exchange | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.errorHandler* | To use a custom ErrorHandler for handling exceptions from the message listener (consumer) | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.listenerContainer Factory* | To use a custom factory for creating and configuring ListenerContainer to be used by the consumer for receiving messages | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.prefetchCount* | Tell the broker how many messages to send to each consumer in a single request. Often this can be set quite high to improve throughput. | 250 | false | MEDIUM
+| *camel.component.spring-rabbitmq.shutdownTimeout* | The time to wait for workers in milliseconds after the container is stopped. If any workers are active when the shutdown signal comes they will be allowed to finish processing as long as they can finish within this timeout. | 5000L | false | MEDIUM
+| *camel.component.spring-rabbitmq.autowiredEnabled* | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | false | MEDIUM
+| *camel.component.spring-rabbitmq.ignoreDeclaration Exceptions* | Switch on ignore exceptions such as mismatched properties when declaring | false | false | MEDIUM
+| *camel.component.spring-rabbitmq.messageConverter* | To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.messageProperties Converter* | To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.headerFilter Strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. | null | false | MEDIUM
+|===
+
+
+
+The camel-spring-rabbitmq source connector has no converters out of the box.
+
+
+
+
+
+The camel-spring-rabbitmq source connector has no transforms out of the box.
+
+
+
+
+
+The camel-spring-rabbitmq source connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/examples/CamelSpringrabbitmqSinkConnector.properties b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/examples/CamelSpringrabbitmqSinkConnector.properties
new file mode 100644
index 0000000..64b599c
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/examples/CamelSpringrabbitmqSinkConnector.properties
@@ -0,0 +1,33 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+name=CamelSpring-rabbitmqSinkConnector
+connector.class=org.apache.camel.kafkaconnector.springrabbitmq.CamelSpringrabbitmqSinkConnector
+tasks.max=1
+
+# use the kafka converters that better suit your needs, these are just defaults:
+key.converter=org.apache.kafka.connect.storage.StringConverter
+value.converter=org.apache.kafka.connect.storage.StringConverter
+
+# comma separated topics to get messages from
+topics=
+
+# mandatory properties (for a complete properties list see the connector documentation):
+
+# The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead.
+camel.sink.path.exchangeName=
+
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/examples/CamelSpringrabbitmqSourceConnector.properties b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/examples/CamelSpringrabbitmqSourceConnector.properties
new file mode 100644
index 0000000..407c929
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/docs/examples/CamelSpringrabbitmqSourceConnector.properties
@@ -0,0 +1,33 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+name=CamelSpring-rabbitmqSourceConnector
+connector.class=org.apache.camel.kafkaconnector.springrabbitmq.CamelSpringrabbitmqSourceConnector
+tasks.max=1
+
+# use the kafka converters that better suit your needs, these are just defaults:
+key.converter=org.apache.kafka.connect.storage.StringConverter
+value.converter=org.apache.kafka.connect.storage.StringConverter
+
+# comma separated topics to send messages into
+topics=
+
+# mandatory properties (for a complete properties list see the connector documentation):
+
+# The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead.
+camel.source.path.exchangeName=
+
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSinkConnector.java b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSinkConnector.java
new file mode 100644
index 0000000..8908d85
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSinkConnector.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.springrabbitmq;
+
+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 CamelSpringrabbitmqSinkConnector extends CamelSinkConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelSpringrabbitmqSinkConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelSpringrabbitmqSinkTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSinkConnectorConfig.java b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSinkConnectorConfig.java
new file mode 100644
index 0000000..191f38d
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSinkConnectorConfig.java
@@ -0,0 +1,125 @@
+/*
+ * 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.springrabbitmq;
+
+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 CamelSpringrabbitmqSinkConnectorConfig
+        extends
+            CamelSinkConnectorConfig {
+
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_CONF = "camel.sink.path.exchangeName";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_DOC = "The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead.";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_DEFAULT = null;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_CONNECTION_FACTORY_CONF = "camel.sink.endpoint.connectionFactory";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_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_SPRINGRABBITMQ_ENDPOINT_CONNECTION_FACTORY_DEFAULT = null;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_CONF = "camel.sink.endpoint.disableReplyTo";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_DOC = "Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo 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 [...]
+    public static final Boolean CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_DEFAULT = false;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_CONF = "camel.sink.endpoint.routingKey";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_DOC = "The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance.";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_DEFAULT = null;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_TEST_CONNECTION_ON_STARTUP_CONF = "camel.sink.endpoint.testConnectionOnStartup";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_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_SPRINGRABBITMQ_ENDPOINT_TEST_CONNECTION_ON_STARTUP_DEFAULT = false;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_LAZY_START_PRODUCER_CONF = "camel.sink.endpoint.lazyStartProducer";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_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  [...]
+    public static final Boolean CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_REPLY_TIMEOUT_CONF = "camel.sink.endpoint.replyTimeout";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_REPLY_TIMEOUT_DOC = "Specify the timeout in milliseconds to be used when waiting for a reply message when doing request/reply messaging. The default value is 5 seconds. A negative value indicates an indefinite timeout.";
+    public static final Long CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_REPLY_TIMEOUT_DEFAULT = 5000L;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ARGS_CONF = "camel.sink.endpoint.args";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ARGS_DOC = "Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ARGS_DEFAULT = null;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_CONF = "camel.sink.endpoint.messageConverter";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_DOC = "To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message.";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_DEFAULT = null;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_CONF = "camel.sink.endpoint.messagePropertiesConverter";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_DOC = "To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties.";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_DEFAULT = null;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_SYNCHRONOUS_CONF = "camel.sink.endpoint.synchronous";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_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_SPRINGRABBITMQ_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_CONF = "camel.component.spring-rabbitmq.amqpAdmin";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_DOC = "Optional AMQP Admin service to use for auto declaring elements (queues, exchanges, bindings)";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_DEFAULT = null;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_CONNECTION_FACTORY_CONF = "camel.component.spring-rabbitmq.connectionFactory";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_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_SPRINGRABBITMQ_COMPONENT_CONNECTION_FACTORY_DEFAULT = null;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_CONF = "camel.component.spring-rabbitmq.testConnectionOnStartup";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_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_SPRINGRABBITMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DEFAULT = false;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_LAZY_START_PRODUCER_CONF = "camel.component.spring-rabbitmq.lazyStartProducer";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_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_SPRINGRABBITMQ_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_CONF = "camel.component.spring-rabbitmq.autowiredEnabled";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_DOC = "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.";
+    public static final Boolean CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_DEFAULT = true;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_CONF = "camel.component.spring-rabbitmq.ignoreDeclarationExceptions";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_DOC = "Switch on ignore exceptions such as mismatched properties when declaring";
+    public static final Boolean CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_DEFAULT = false;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_CONF = "camel.component.spring-rabbitmq.messageConverter";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_DOC = "To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message.";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_DEFAULT = null;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_CONF = "camel.component.spring-rabbitmq.messagePropertiesConverter";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_DOC = "To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties.";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_DEFAULT = null;
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_CONF = "camel.component.spring-rabbitmq.headerFilterStrategy";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_DOC = "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.";
+    public static final String CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_DEFAULT = null;
+
+    public CamelSpringrabbitmqSinkConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelSpringrabbitmqSinkConnectorConfig(
+            Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SINK_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_CONNECTION_FACTORY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_CONNECTION_FACTORY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_CONNECTION_FACTORY_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_TEST_CONNECTION_ON_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_TEST_CONNECTION_ON_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_TEST_CONNECTION_ON_STARTUP_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_REPLY_TIMEOUT_CONF, ConfigDef.Type.LONG, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_REPLY_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_REPLY_TIMEOUT_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ARGS_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ARGS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_ARGS_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_CONNECTION_FACTORY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_CONNECTION_FACTORY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_CONNECTION_FACTORY_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_LAZY_START_PRODUCER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_LAZY_START_PRODUCER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_LAZY_START_PRODUCER_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_DOC);
+        conf.define(CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_CONF, ConfigDef.Type.STRING, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SINK_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSinkTask.java b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSinkTask.java
new file mode 100644
index 0000000..15639bf
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSinkTask.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.springrabbitmq;
+
+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 CamelSpringrabbitmqSinkTask extends CamelSinkTask {
+
+    @Override
+    protected CamelSinkConnectorConfig getCamelSinkConnectorConfig(
+            Map<String, String> props) {
+        return new CamelSpringrabbitmqSinkConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSinkConnectorConfig.CAMEL_SINK_COMPONENT_CONF, "spring-rabbitmq");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSourceConnector.java b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSourceConnector.java
new file mode 100644
index 0000000..560d30d
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSourceConnector.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.springrabbitmq;
+
+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 CamelSpringrabbitmqSourceConnector extends CamelSourceConnector {
+
+    @Override
+    public ConfigDef config() {
+        return CamelSpringrabbitmqSourceConnectorConfig.conf();
+    }
+    @Override
+    public Class<? extends Task> taskClass() {
+        return CamelSpringrabbitmqSourceTask.class;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSourceConnectorConfig.java b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSourceConnectorConfig.java
new file mode 100644
index 0000000..6aca79e
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSourceConnectorConfig.java
@@ -0,0 +1,217 @@
+/*
+ * 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.springrabbitmq;
+
+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 CamelSpringrabbitmqSourceConnectorConfig
+        extends
+            CamelSourceConnectorConfig {
+
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_CONF = "camel.source.path.exchangeName";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_DOC = "The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead.";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_CONNECTION_FACTORY_CONF = "camel.source.endpoint.connectionFactory";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_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_SPRINGRABBITMQ_ENDPOINT_CONNECTION_FACTORY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_CONF = "camel.source.endpoint.disableReplyTo";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_DOC = "Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo 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  [...]
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_CONF = "camel.source.endpoint.routingKey";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_DOC = "The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance.";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_TEST_CONNECTION_ON_STARTUP_CONF = "camel.source.endpoint.testConnectionOnStartup";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_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_SPRINGRABBITMQ_ENDPOINT_TEST_CONNECTION_ON_STARTUP_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ACKNOWLEDGE_MODE_CONF = "camel.source.endpoint.acknowledgeMode";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ACKNOWLEDGE_MODE_DOC = "Flag controlling the behaviour of the container with respect to message acknowledgement. The most common usage is to let the container handle the acknowledgements (so the listener doesn't need to know about the channel or the message). Set to AcknowledgeMode.MANUAL if the listener will send the acknowledgements itself using Channel.basicAck(long, boolean). Manual acks are consistent with either a  [...]
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ACKNOWLEDGE_MODE_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ASYNC_CONSUMER_CONF = "camel.source.endpoint.asyncConsumer";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ASYNC_CONSUMER_DOC = "Whether the consumer processes the Exchange asynchronously. If enabled then the consumer may pickup the next message from the 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 consumer will pickup the ne [...]
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ASYNC_CONSUMER_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_DECLARE_CONF = "camel.source.endpoint.autoDeclare";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_DECLARE_DOC = "Specifies whether the consumer should auto declare binding between exchange, queue and routing key when starting.";
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_DECLARE_DEFAULT = true;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_STARTUP_CONF = "camel.source.endpoint.autoStartup";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_STARTUP_DOC = "Specifies whether the consumer container should auto-startup.";
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_STARTUP_DEFAULT = true;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF = "camel.source.endpoint.bridgeErrorHandler";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_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  [...]
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_CONF = "camel.source.endpoint.deadLetterExchange";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_DOC = "The name of the dead letter exchange";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_TYPE_CONF = "camel.source.endpoint.deadLetterExchangeType";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_TYPE_DOC = "The type of the dead letter exchange One of: [direct] [fanout] [headers] [topic]";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_TYPE_DEFAULT = "direct";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_QUEUE_CONF = "camel.source.endpoint.deadLetterQueue";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_QUEUE_DOC = "The name of the dead letter queue";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_QUEUE_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_ROUTING_KEY_CONF = "camel.source.endpoint.deadLetterRoutingKey";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_ROUTING_KEY_DOC = "The routing key for the dead letter exchange";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_ROUTING_KEY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_TYPE_CONF = "camel.source.endpoint.exchangeType";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_TYPE_DOC = "The type of the exchange One of: [direct] [fanout] [headers] [topic]";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_TYPE_DEFAULT = "direct";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCLUSIVE_CONF = "camel.source.endpoint.exclusive";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCLUSIVE_DOC = "Set to true for an exclusive consumer";
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCLUSIVE_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_NO_LOCAL_CONF = "camel.source.endpoint.noLocal";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_NO_LOCAL_DOC = "Set to true for an no-local consumer";
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_NO_LOCAL_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_QUEUES_CONF = "camel.source.endpoint.queues";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_QUEUES_DOC = "The queue(s) to use for consuming messages. Multiple queue names can be separated by comma. If none has been configured then Camel will generate an unique id as the queue name for the consumer.";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_QUEUES_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCEPTION_HANDLER_CONF = "camel.source.endpoint.exceptionHandler";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_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_SPRINGRABBITMQ_ENDPOINT_EXCEPTION_HANDLER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_PATTERN_CONF = "camel.source.endpoint.exchangePattern";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_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_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_PATTERN_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ARGS_CONF = "camel.source.endpoint.args";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ARGS_DOC = "Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ARGS_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_CONF = "camel.source.endpoint.messageConverter";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_DOC = "To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message.";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_CONF = "camel.source.endpoint.messagePropertiesConverter";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_DOC = "To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties.";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_SYNCHRONOUS_CONF = "camel.source.endpoint.synchronous";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_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_SPRINGRABBITMQ_ENDPOINT_SYNCHRONOUS_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_CONF = "camel.component.spring-rabbitmq.amqpAdmin";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_DOC = "Optional AMQP Admin service to use for auto declaring elements (queues, exchanges, bindings)";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_CONNECTION_FACTORY_CONF = "camel.component.spring-rabbitmq.connectionFactory";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_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_SPRINGRABBITMQ_COMPONENT_CONNECTION_FACTORY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_CONF = "camel.component.spring-rabbitmq.testConnectionOnStartup";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_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_SPRINGRABBITMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_DECLARE_CONF = "camel.component.spring-rabbitmq.autoDeclare";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_DECLARE_DOC = "Specifies whether the consumer should auto declare binding between exchange, queue and routing key when starting. Enabling this can be good for development to make it easy to standup exchanges, queues and bindings on the broker.";
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_DECLARE_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_STARTUP_CONF = "camel.component.spring-rabbitmq.autoStartup";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_STARTUP_DOC = "Specifies whether the consumer container should auto-startup.";
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_STARTUP_DEFAULT = true;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_BRIDGE_ERROR_HANDLER_CONF = "camel.component.spring-rabbitmq.bridgeErrorHandler";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_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 [...]
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_CONF = "camel.component.spring-rabbitmq.deadLetterExchange";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_DOC = "The name of the dead letter exchange";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_TYPE_CONF = "camel.component.spring-rabbitmq.deadLetterExchangeType";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_TYPE_DOC = "The type of the dead letter exchange One of: [direct] [fanout] [headers] [topic]";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_TYPE_DEFAULT = "direct";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_QUEUE_CONF = "camel.component.spring-rabbitmq.deadLetterQueue";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_QUEUE_DOC = "The name of the dead letter queue";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_QUEUE_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_ROUTING_KEY_CONF = "camel.component.spring-rabbitmq.deadLetterRoutingKey";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_ROUTING_KEY_DOC = "The routing key for the dead letter exchange";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_ROUTING_KEY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_ERROR_HANDLER_CONF = "camel.component.spring-rabbitmq.errorHandler";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_ERROR_HANDLER_DOC = "To use a custom ErrorHandler for handling exceptions from the message listener (consumer)";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_ERROR_HANDLER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_LISTENER_CONTAINER_FACTORY_CONF = "camel.component.spring-rabbitmq.listenerContainerFactory";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_LISTENER_CONTAINER_FACTORY_DOC = "To use a custom factory for creating and configuring ListenerContainer to be used by the consumer for receiving messages";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_LISTENER_CONTAINER_FACTORY_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_PREFETCH_COUNT_CONF = "camel.component.spring-rabbitmq.prefetchCount";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_PREFETCH_COUNT_DOC = "Tell the broker how many messages to send to each consumer in a single request. Often this can be set quite high to improve throughput.";
+    public static final Integer CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_PREFETCH_COUNT_DEFAULT = 250;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_SHUTDOWN_TIMEOUT_CONF = "camel.component.spring-rabbitmq.shutdownTimeout";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_SHUTDOWN_TIMEOUT_DOC = "The time to wait for workers in milliseconds after the container is stopped. If any workers are active when the shutdown signal comes they will be allowed to finish processing as long as they can finish within this timeout.";
+    public static final Long CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_SHUTDOWN_TIMEOUT_DEFAULT = 5000L;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_CONF = "camel.component.spring-rabbitmq.autowiredEnabled";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_DOC = "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.";
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_DEFAULT = true;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_CONF = "camel.component.spring-rabbitmq.ignoreDeclarationExceptions";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_DOC = "Switch on ignore exceptions such as mismatched properties when declaring";
+    public static final Boolean CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_DEFAULT = false;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_CONF = "camel.component.spring-rabbitmq.messageConverter";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_DOC = "To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message.";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_CONF = "camel.component.spring-rabbitmq.messagePropertiesConverter";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_DOC = "To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties.";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_DEFAULT = null;
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_CONF = "camel.component.spring-rabbitmq.headerFilterStrategy";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_DOC = "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.";
+    public static final String CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_DEFAULT = null;
+
+    public CamelSpringrabbitmqSourceConnectorConfig(
+            ConfigDef config,
+            Map<String, String> parsedConfig) {
+        super(config, parsedConfig);
+    }
+
+    public CamelSpringrabbitmqSourceConnectorConfig(
+            Map<String, String> parsedConfig) {
+        this(conf(), parsedConfig);
+    }
+
+    public static ConfigDef conf() {
+        ConfigDef conf = new ConfigDef(CamelSourceConnectorConfig.conf());
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_DEFAULT, ConfigDef.Importance.HIGH, CAMEL_SOURCE_SPRINGRABBITMQ_PATH_EXCHANGE_NAME_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_CONNECTION_FACTORY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_CONNECTION_FACTORY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_CONNECTION_FACTORY_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DISABLE_REPLY_TO_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ROUTING_KEY_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_TEST_CONNECTION_ON_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_TEST_CONNECTION_ON_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_TEST_CONNECTION_ON_STARTUP_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ACKNOWLEDGE_MODE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ACKNOWLEDGE_MODE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ACKNOWLEDGE_MODE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ASYNC_CONSUMER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ASYNC_CONSUMER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ASYNC_CONSUMER_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_DECLARE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_DECLARE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_DECLARE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_AUTO_STARTUP_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_BRIDGE_ERROR_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_EXCHANGE_TYPE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_QUEUE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_QUEUE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_QUEUE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_ROUTING_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_ROUTING_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_DEAD_LETTER_ROUTING_KEY_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_TYPE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCLUSIVE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCLUSIVE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCLUSIVE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_NO_LOCAL_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_NO_LOCAL_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_NO_LOCAL_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_QUEUES_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_QUEUES_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_QUEUES_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCEPTION_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCEPTION_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCEPTION_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_PATTERN_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_PATTERN_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_EXCHANGE_PATTERN_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ARGS_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ARGS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_ARGS_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_CONVERTER_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_MESSAGE_PROPERTIES_CONVERTER_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_SYNCHRONOUS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_SYNCHRONOUS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_ENDPOINT_SYNCHRONOUS_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AMQP_ADMIN_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_CONNECTION_FACTORY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_CONNECTION_FACTORY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_CONNECTION_FACTORY_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_TEST_CONNECTION_ON_STARTUP_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_DECLARE_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_DECLARE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_DECLARE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_STARTUP_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_STARTUP_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTO_STARTUP_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_BRIDGE_ERROR_HANDLER_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_BRIDGE_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_BRIDGE_ERROR_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_TYPE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_TYPE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_EXCHANGE_TYPE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_QUEUE_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_QUEUE_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_QUEUE_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_ROUTING_KEY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_ROUTING_KEY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_DEAD_LETTER_ROUTING_KEY_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_ERROR_HANDLER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_ERROR_HANDLER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_ERROR_HANDLER_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_LISTENER_CONTAINER_FACTORY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_LISTENER_CONTAINER_FACTORY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_LISTENER_CONTAINER_FACTORY_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_PREFETCH_COUNT_CONF, ConfigDef.Type.INT, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_PREFETCH_COUNT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_PREFETCH_COUNT_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_SHUTDOWN_TIMEOUT_CONF, ConfigDef.Type.LONG, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_SHUTDOWN_TIMEOUT_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_SHUTDOWN_TIMEOUT_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_AUTOWIRED_ENABLED_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_CONF, ConfigDef.Type.BOOLEAN, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_IGNORE_DECLARATION_EXCEPTIONS_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_CONVERTER_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_MESSAGE_PROPERTIES_CONVERTER_DOC);
+        conf.define(CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_CONF, ConfigDef.Type.STRING, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_DEFAULT, ConfigDef.Importance.MEDIUM, CAMEL_SOURCE_SPRINGRABBITMQ_COMPONENT_HEADER_FILTER_STRATEGY_DOC);
+        return conf;
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSourceTask.java b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSourceTask.java
new file mode 100644
index 0000000..cc52aa7
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/springrabbitmq/CamelSpringrabbitmqSourceTask.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.springrabbitmq;
+
+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 CamelSpringrabbitmqSourceTask extends CamelSourceTask {
+
+    @Override
+    protected CamelSourceConnectorConfig getCamelSourceConnectorConfig(
+            Map<String, String> props) {
+        return new CamelSpringrabbitmqSourceConnectorConfig(props);
+    }
+    @Override
+    protected Map<String, String> getDefaultConfig() {
+        return new HashMap<String, String>() {{
+            put(CamelSourceConnectorConfig.CAMEL_SOURCE_COMPONENT_CONF, "spring-rabbitmq");
+        }};
+    }
+}
\ No newline at end of file
diff --git a/connectors/camel-spring-rabbitmq-kafka-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/resources/META-INF/LICENSE.txt
new file mode 100644
index 0000000..6b0b127
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-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-spring-rabbitmq-kafka-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-spring-rabbitmq-kafka-connector/src/main/resources/META-INF/NOTICE.txt
new file mode 100644
index 0000000..2e215bf
--- /dev/null
+++ b/connectors/camel-spring-rabbitmq-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/pom.xml b/connectors/pom.xml
index e032354..abde9a2 100644
--- a/connectors/pom.xml
+++ b/connectors/pom.xml
@@ -495,6 +495,7 @@
         <module>camel-spring-event-kafka-connector</module>
         <module>camel-spring-integration-kafka-connector</module>
         <module>camel-spring-ldap-kafka-connector</module>
+        <module>camel-spring-rabbitmq-kafka-connector</module>
         <module>camel-spring-redis-kafka-connector</module>
         <module>camel-spring-ws-kafka-connector</module>
         <module>camel-sql-kafka-connector</module>
diff --git a/docs/modules/ROOT/pages/connectors.adoc b/docs/modules/ROOT/pages/connectors.adoc
index 936b8a0..72ca196 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: 349 
+Number of Camel Kafka connectors: 350 
 
 [width="100%",cols="4,1,1,1,1,1,1",options="header"]
 |===
@@ -309,6 +309,7 @@ Number of Camel Kafka connectors: 349
 | *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] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-event-kafka-connector/0.7.0/camel-spring-event-kafka-connector-0.7.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-event-kafka-connector/0. [...]
 | *camel-spring-integration-kafka-connector* | true | true | xref:connectors/camel-spring-integration-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-spring-integration-kafka-source-connector.adoc[Source Docs] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-integration-kafka-connector/0.7.0/camel-spring-integration-kafka-connector-0.7.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-s [...]
 | *camel-spring-ldap-kafka-connector* | true | false | xref:connectors/camel-spring-ldap-kafka-sink-connector.adoc[Sink Docs] |  | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-ldap-kafka-connector/0.7.0/camel-spring-ldap-kafka-connector-0.7.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-ldap-kafka-connector/0.7.0/camel-spring-ldap-kafka-connector-0.7.0-package.tar.gz[Download Tar.gz]
+| *camel-spring-rabbitmq-kafka-connector* | true | true | xref:connectors/camel-spring-rabbitmq-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-spring-rabbitmq-kafka-source-connector.adoc[Source Docs] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-rabbitmq-kafka-connector/0.7.0/camel-spring-rabbitmq-kafka-connector-0.7.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-rabbitmq- [...]
 | *camel-spring-redis-kafka-connector* | true | true | xref:connectors/camel-spring-redis-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-spring-redis-kafka-source-connector.adoc[Source Docs] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-redis-kafka-connector/0.7.0/camel-spring-redis-kafka-connector-0.7.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-redis-kafka-connector/0. [...]
 | *camel-spring-ws-kafka-connector* | true | true | xref:connectors/camel-spring-ws-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-spring-ws-kafka-source-connector.adoc[Source Docs] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-ws-kafka-connector/0.7.0/camel-spring-ws-kafka-connector-0.7.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-spring-ws-kafka-connector/0.7.0/camel-spring-w [...]
 | *camel-sql-kafka-connector* | true | true | xref:connectors/camel-sql-kafka-sink-connector.adoc[Sink Docs] | xref:connectors/camel-sql-kafka-source-connector.adoc[Source Docs] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-sql-kafka-connector/0.7.0/camel-sql-kafka-connector-0.7.0-package.zip[Download Zip] | https://repo.maven.apache.org/maven2/org/apache/camel/kafkaconnector/camel-sql-kafka-connector/0.7.0/camel-sql-kafka-connector-0.7.0-package.tar.gz[Dow [...]
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 a10181e..898d433 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
@@ -45,7 +45,7 @@ The camel-activemq sink connector supports 148 options, which are listed below.
 | *camel.sink.endpoint.formatDateHeadersToIso8601* | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | 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.preserveMessageQos* | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicit [...]
-| *camel.sink.endpoint.priority* | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
+| *camel.sink.endpoint.priority* | Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
 | *camel.sink.endpoint.replyToConcurrentConsumers* | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | false | MEDIUM
 | *camel.sink.endpoint.replyToMaxConcurrentConsumers* | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | null | false | MEDIUM
 | *camel.sink.endpoint.replyToOnTimeoutMaxConcurrent Consumers* | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | false | MEDIUM
@@ -117,7 +117,7 @@ The camel-activemq sink connector supports 148 options, which are listed below.
 | *camel.component.activemq.formatDateHeadersTo Iso8601* | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | false | MEDIUM
 | *camel.component.activemq.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.activemq.preserveMessageQos* | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The exp [...]
-| *camel.component.activemq.priority* | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
+| *camel.component.activemq.priority* | Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
 | *camel.component.activemq.replyToConcurrent Consumers* | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | false | MEDIUM
 | *camel.component.activemq.replyToMaxConcurrent Consumers* | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | null | false | MEDIUM
 | *camel.component.activemq.replyToOnTimeoutMax ConcurrentConsumers* | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | false | 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 a54fe3d..c10e993 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
@@ -45,7 +45,7 @@ The camel-amqp sink connector supports 145 options, which are listed below.
 | *camel.sink.endpoint.formatDateHeadersToIso8601* | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | 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.preserveMessageQos* | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicit [...]
-| *camel.sink.endpoint.priority* | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
+| *camel.sink.endpoint.priority* | Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
 | *camel.sink.endpoint.replyToConcurrentConsumers* | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | false | MEDIUM
 | *camel.sink.endpoint.replyToMaxConcurrentConsumers* | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | null | false | MEDIUM
 | *camel.sink.endpoint.replyToOnTimeoutMaxConcurrent Consumers* | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | false | MEDIUM
@@ -115,7 +115,7 @@ The camel-amqp sink connector supports 145 options, which are listed below.
 | *camel.component.amqp.formatDateHeadersToIso8601* | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | false | MEDIUM
 | *camel.component.amqp.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.amqp.preserveMessageQos* | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explici [...]
-| *camel.component.amqp.priority* | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
+| *camel.component.amqp.priority* | Values greater than 1 specify the message priority when sending (where 1 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. One of: [1] [2] [3] [4] [5] [6] [7] [8] [9] | 4 | false | MEDIUM
 | *camel.component.amqp.replyToConcurrentConsumers* | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | false | MEDIUM
 | *camel.component.amqp.replyToMaxConcurrentConsumers* | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | null | false | MEDIUM
 | *camel.component.amqp.replyToOnTimeoutMaxConcurrent Consumers* | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-rabbitmq-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-rabbitmq-kafka-sink-connector.adoc
index c5e06ea..4c8a98a 100644
--- a/docs/modules/ROOT/pages/connectors/camel-rabbitmq-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-rabbitmq-kafka-sink-connector.adoc
@@ -65,6 +65,7 @@ The camel-rabbitmq sink connector supports 101 options, which are listed below.
 | *camel.sink.endpoint.mandatory* | This flag tells the server how to react if the message cannot be routed to a queue. If this flag is set, the server will return an unroutable message with a Return method. If this flag is zero, the server silently drops the message. If the header is present rabbitmq.MANDATORY it will override this option. | false | false | MEDIUM
 | *camel.sink.endpoint.publisherAcknowledgements* | When true, the message will be published with publisher acknowledgements turned on | false | false | MEDIUM
 | *camel.sink.endpoint.publisherAcknowledgements Timeout* | The amount of time in milliseconds to wait for a basic.ack response from RabbitMQ server | null | false | MEDIUM
+| *camel.sink.endpoint.allowMessageBodySerialization* | Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an att [...]
 | *camel.sink.endpoint.args* | Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each: Exchange: arg.exchange. Queue: arg.queue. Binding: arg.binding. DLQ: arg.dlq.queue. DLQ binding: arg.dlq.binding. For example to declare a queue with message ttl argument: \http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 | null | false | MEDIUM
 | *camel.sink.endpoint.clientProperties* | Connection client properties (client info used in negotiating with the server) | null | false | MEDIUM
 | *camel.sink.endpoint.connectionFactoryException Handler* | Custom rabbitmq ExceptionHandler for ConnectionFactory | null | false | MEDIUM
@@ -78,7 +79,6 @@ The camel-rabbitmq sink connector supports 101 options, which are listed below.
 | *camel.sink.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | false | MEDIUM
 | *camel.sink.endpoint.topologyRecoveryEnabled* | Enables connection topology recovery (should topology recovery be performed) | null | false | MEDIUM
 | *camel.sink.endpoint.transferException* | When true and an inOut Exchange failed on the consumer side send the caused Exception back in the response | false | false | MEDIUM
-| *camel.sink.endpoint.allowMessageBodySerialization* | Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an att [...]
 | *camel.sink.endpoint.password* | Password for authenticated access | "guest" | false | MEDIUM
 | *camel.sink.endpoint.sslProtocol* | Enables SSL on connection, accepted value are true, TLS and 'SSLv3 | null | false | MEDIUM
 | *camel.sink.endpoint.trustManager* | Configure SSL trust manager, SSL should be enabled for this option to be effective | null | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-rabbitmq-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-rabbitmq-kafka-source-connector.adoc
index 64f9e37..1f3e0c0 100644
--- a/docs/modules/ROOT/pages/connectors/camel-rabbitmq-kafka-source-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-rabbitmq-kafka-source-connector.adoc
@@ -65,6 +65,7 @@ The camel-rabbitmq source connector supports 98 options, which are listed below.
 | *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 | false | MEDIUM
 | *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | false | MEDIUM
 | *camel.source.endpoint.threadPoolSize* | The consumer uses a Thread Pool Executor with a fixed number of threads. This setting allows you to set that number of threads. | 10 | false | MEDIUM
+| *camel.source.endpoint.allowMessageBody Serialization* | Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an  [...]
 | *camel.source.endpoint.args* | Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each: Exchange: arg.exchange. Queue: arg.queue. Binding: arg.binding. DLQ: arg.dlq.queue. DLQ binding: arg.dlq.binding. For example to declare a queue with message ttl argument: \http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 | null | false | MEDIUM
 | *camel.source.endpoint.clientProperties* | Connection client properties (client info used in negotiating with the server) | null | false | MEDIUM
 | *camel.source.endpoint.connectionFactoryException Handler* | Custom rabbitmq ExceptionHandler for ConnectionFactory | null | false | MEDIUM
@@ -78,7 +79,6 @@ The camel-rabbitmq source connector supports 98 options, which are listed below.
 | *camel.source.endpoint.synchronous* | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | false | MEDIUM
 | *camel.source.endpoint.topologyRecoveryEnabled* | Enables connection topology recovery (should topology recovery be performed) | null | false | MEDIUM
 | *camel.source.endpoint.transferException* | When true and an inOut Exchange failed on the consumer side send the caused Exception back in the response | false | false | MEDIUM
-| *camel.source.endpoint.allowMessageBody Serialization* | Whether to allow Java serialization of the message body or not. If this value is true, the message body will be serialized on the producer side using Java serialization, if no type converter can handle the message body. On the consumer side, it will deserialize the message body if this value is true and the message contains a CamelSerialize header. Setting this value to true may introduce a security vulnerability as it allows an  [...]
 | *camel.source.endpoint.password* | Password for authenticated access | "guest" | false | MEDIUM
 | *camel.source.endpoint.sslProtocol* | Enables SSL on connection, accepted value are true, TLS and 'SSLv3 | null | false | MEDIUM
 | *camel.source.endpoint.trustManager* | Configure SSL trust manager, SSL should be enabled for this option to be effective | null | false | MEDIUM
diff --git a/docs/modules/ROOT/pages/connectors/camel-spring-rabbitmq-kafka-sink-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-spring-rabbitmq-kafka-sink-connector.adoc
new file mode 100644
index 0000000..483e5ea
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-spring-rabbitmq-kafka-sink-connector.adoc
@@ -0,0 +1,73 @@
+// kafka-connector options: START
+[[camel-spring-rabbitmq-kafka-connector-sink]]
+= camel-spring-rabbitmq-kafka-connector sink configuration
+
+When using camel-spring-rabbitmq-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-spring-rabbitmq-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Sink connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.springrabbitmq.CamelSpringrabbitmqSinkConnector
+----
+
+
+The camel-spring-rabbitmq sink connector supports 20 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.sink.path.exchangeName* | The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead. | null | true | HIGH
+| *camel.sink.endpoint.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | false | MEDIUM
+| *camel.sink.endpoint.disableReplyTo* | Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo 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 message b [...]
+| *camel.sink.endpoint.routingKey* | The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance. | null | false | MEDIUM
+| *camel.sink.endpoint.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 | 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.replyTimeout* | Specify the timeout in milliseconds to be used when waiting for a reply message when doing request/reply messaging. The default value is 5 seconds. A negative value indicates an indefinite timeout. | 5000L | false | MEDIUM
+| *camel.sink.endpoint.args* | Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000 | null | false | MEDIUM
+| *camel.sink.endpoint.messageConverter* | To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message. | null | false | MEDIUM
+| *camel.sink.endpoint.messagePropertiesConverter* | To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties. | null | 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 | false | MEDIUM
+| *camel.component.spring-rabbitmq.amqpAdmin* | Optional AMQP Admin service to use for auto declaring elements (queues, exchanges, bindings) | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.testConnectionOn Startup* | 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 | false | MEDIUM
+| *camel.component.spring-rabbitmq.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.spring-rabbitmq.autowiredEnabled* | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | false | MEDIUM
+| *camel.component.spring-rabbitmq.ignoreDeclaration Exceptions* | Switch on ignore exceptions such as mismatched properties when declaring | false | false | MEDIUM
+| *camel.component.spring-rabbitmq.messageConverter* | To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.messageProperties Converter* | To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.headerFilter Strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. | null | false | MEDIUM
+|===
+
+
+
+The camel-spring-rabbitmq sink connector has no converters out of the box.
+
+
+
+
+
+The camel-spring-rabbitmq sink connector has no transforms out of the box.
+
+
+
+
+
+The camel-spring-rabbitmq sink connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END
diff --git a/docs/modules/ROOT/pages/connectors/camel-spring-rabbitmq-kafka-source-connector.adoc b/docs/modules/ROOT/pages/connectors/camel-spring-rabbitmq-kafka-source-connector.adoc
new file mode 100644
index 0000000..1eb7e4a
--- /dev/null
+++ b/docs/modules/ROOT/pages/connectors/camel-spring-rabbitmq-kafka-source-connector.adoc
@@ -0,0 +1,96 @@
+// kafka-connector options: START
+[[camel-spring-rabbitmq-kafka-connector-source]]
+= camel-spring-rabbitmq-kafka-connector source configuration
+
+When using camel-spring-rabbitmq-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-spring-rabbitmq-kafka-connector</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel Kafka connector version -->
+</dependency>
+----
+
+To use this Source connector in Kafka connect you'll need to set the following connector.class
+
+[source,java]
+----
+connector.class=org.apache.camel.kafkaconnector.springrabbitmq.CamelSpringrabbitmqSourceConnector
+----
+
+
+The camel-spring-rabbitmq source connector supports 43 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,1,1",options="header"]
+|===
+| Name | Description | Default | Required | Priority
+| *camel.source.path.exchangeName* | The exchange name determines the exchange to which the produced messages will be sent to. In the case of consumers, the exchange name determines the exchange the queue will be bound to. Note: to use default exchange then do not use empty name, but use default instead. | null | true | HIGH
+| *camel.source.endpoint.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | false | MEDIUM
+| *camel.source.endpoint.disableReplyTo* | Specifies whether Camel ignores the ReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the ReplyTo 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 message [...]
+| *camel.source.endpoint.routingKey* | The value of a routing key to use. Default is empty which is not helpful when using the default (or any direct) exchange, but fine if the exchange is a headers exchange for instance. | null | false | MEDIUM
+| *camel.source.endpoint.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 | false | MEDIUM
+| *camel.source.endpoint.acknowledgeMode* | Flag controlling the behaviour of the container with respect to message acknowledgement. The most common usage is to let the container handle the acknowledgements (so the listener doesn't need to know about the channel or the message). Set to AcknowledgeMode.MANUAL if the listener will send the acknowledgements itself using Channel.basicAck(long, boolean). Manual acks are consistent with either a transactional or non-transactional channel, but  [...]
+| *camel.source.endpoint.asyncConsumer* | Whether the consumer processes the Exchange asynchronously. If enabled then the consumer may pickup the next message from the 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 consumer will pickup the next message from the queue. | false | false | MEDIUM
+| *camel.source.endpoint.autoDeclare* | Specifies whether the consumer should auto declare binding between exchange, queue and routing key when starting. | true | false | MEDIUM
+| *camel.source.endpoint.autoStartup* | Specifies whether the consumer container should auto-startup. | true | false | 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 | false | MEDIUM
+| *camel.source.endpoint.deadLetterExchange* | The name of the dead letter exchange | null | false | MEDIUM
+| *camel.source.endpoint.deadLetterExchangeType* | The type of the dead letter exchange One of: [direct] [fanout] [headers] [topic] | "direct" | false | MEDIUM
+| *camel.source.endpoint.deadLetterQueue* | The name of the dead letter queue | null | false | MEDIUM
+| *camel.source.endpoint.deadLetterRoutingKey* | The routing key for the dead letter exchange | null | false | MEDIUM
+| *camel.source.endpoint.exchangeType* | The type of the exchange One of: [direct] [fanout] [headers] [topic] | "direct" | false | MEDIUM
+| *camel.source.endpoint.exclusive* | Set to true for an exclusive consumer | false | false | MEDIUM
+| *camel.source.endpoint.noLocal* | Set to true for an no-local consumer | false | false | MEDIUM
+| *camel.source.endpoint.queues* | The queue(s) to use for consuming messages. Multiple queue names can be separated by comma. If none has been configured then Camel will generate an unique id as the queue name for the consumer. | null | 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 | false | MEDIUM
+| *camel.source.endpoint.exchangePattern* | Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut] | null | false | MEDIUM
+| *camel.source.endpoint.args* | Specify arguments for configuring the different RabbitMQ concepts, a different prefix is required for each element: arg.consumer. arg.exchange. arg.queue. arg.binding. arg.dlq.exchange. arg.dlq.queue. arg.dlq.binding. For example to declare a queue with message ttl argument: args=arg.queue.x-message-ttl=60000 | null | false | MEDIUM
+| *camel.source.endpoint.messageConverter* | To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message. | null | false | MEDIUM
+| *camel.source.endpoint.messagePropertiesConverter* | To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties. | null | 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 | false | MEDIUM
+| *camel.component.spring-rabbitmq.amqpAdmin* | Optional AMQP Admin service to use for auto declaring elements (queues, exchanges, bindings) | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.connectionFactory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.testConnectionOn Startup* | 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 | false | MEDIUM
+| *camel.component.spring-rabbitmq.autoDeclare* | Specifies whether the consumer should auto declare binding between exchange, queue and routing key when starting. Enabling this can be good for development to make it easy to standup exchanges, queues and bindings on the broker. | false | false | MEDIUM
+| *camel.component.spring-rabbitmq.autoStartup* | Specifies whether the consumer container should auto-startup. | true | false | MEDIUM
+| *camel.component.spring-rabbitmq.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 | false | MEDIUM
+| *camel.component.spring-rabbitmq.deadLetterExchange* | The name of the dead letter exchange | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.deadLetterExchange Type* | The type of the dead letter exchange One of: [direct] [fanout] [headers] [topic] | "direct" | false | MEDIUM
+| *camel.component.spring-rabbitmq.deadLetterQueue* | The name of the dead letter queue | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.deadLetterRouting Key* | The routing key for the dead letter exchange | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.errorHandler* | To use a custom ErrorHandler for handling exceptions from the message listener (consumer) | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.listenerContainer Factory* | To use a custom factory for creating and configuring ListenerContainer to be used by the consumer for receiving messages | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.prefetchCount* | Tell the broker how many messages to send to each consumer in a single request. Often this can be set quite high to improve throughput. | 250 | false | MEDIUM
+| *camel.component.spring-rabbitmq.shutdownTimeout* | The time to wait for workers in milliseconds after the container is stopped. If any workers are active when the shutdown signal comes they will be allowed to finish processing as long as they can finish within this timeout. | 5000L | false | MEDIUM
+| *camel.component.spring-rabbitmq.autowiredEnabled* | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | false | MEDIUM
+| *camel.component.spring-rabbitmq.ignoreDeclaration Exceptions* | Switch on ignore exceptions such as mismatched properties when declaring | false | false | MEDIUM
+| *camel.component.spring-rabbitmq.messageConverter* | To use a custom MessageConverter so you can be in control how to map to/from a org.springframework.amqp.core.Message. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.messageProperties Converter* | To use a custom MessagePropertiesConverter so you can be in control how to map to/from a org.springframework.amqp.core.MessageProperties. | null | false | MEDIUM
+| *camel.component.spring-rabbitmq.headerFilter Strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. | null | false | MEDIUM
+|===
+
+
+
+The camel-spring-rabbitmq source connector has no converters out of the box.
+
+
+
+
+
+The camel-spring-rabbitmq source connector has no transforms out of the box.
+
+
+
+
+
+The camel-spring-rabbitmq source connector has no aggregation strategies out of the box.
+
+
+
+
+// kafka-connector options: END