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

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


The following commit(s) were added to refs/heads/main by this push:
     new 133bead  [create-pull-request] automated change
133bead is described below

commit 133bead3ed5b589e3a046b82d7a646de58a232a9
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Jun 7 04:02:58 2021 +0000

    [create-pull-request] automated change
---
 .../resources/connectors/camel-kafka-sink.json     | 14 ++++
 .../resources/connectors/camel-solr-sink.json      | 78 +++++++++++++---------
 .../resources/connectors/camel-solrCloud-sink.json | 78 +++++++++++++---------
 .../resources/connectors/camel-solrs-sink.json     | 78 +++++++++++++---------
 .../src/generated/resources/camel-solr-sink.json   | 78 +++++++++++++---------
 .../main/docs/camel-solr-kafka-sink-connector.adoc | 31 +++++----
 .../examples/CamelSolrSinkConnector.properties     |  2 +-
 .../solr/CamelSolrSinkConnectorConfig.java         | 62 ++++++++++-------
 .../generated/resources/camel-solrCloud-sink.json  | 78 +++++++++++++---------
 .../docs/camel-solrCloud-kafka-sink-connector.adoc | 31 +++++----
 .../CamelSolrcloudSinkConnector.properties         |  2 +-
 .../CamelSolrcloudSinkConnectorConfig.java         | 62 ++++++++++-------
 .../src/generated/resources/camel-solrs-sink.json  | 78 +++++++++++++---------
 .../docs/camel-solrs-kafka-sink-connector.adoc     | 31 +++++----
 .../examples/CamelSolrsSinkConnector.properties    |  2 +-
 .../solrs/CamelSolrsSinkConnectorConfig.java       | 62 ++++++++++-------
 .../camel-solr-kafka-sink-connector.adoc           | 35 +++++-----
 .../camel-solrCloud-kafka-sink-connector.adoc      | 35 +++++-----
 .../camel-solrs-kafka-sink-connector.adoc          | 35 +++++-----
 19 files changed, 518 insertions(+), 354 deletions(-)

diff --git 
a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-kafka-sink.json
 
b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-kafka-sink.json
index 3173565..954a5df 100644
--- 
a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-kafka-sink.json
+++ 
b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-kafka-sink.json
@@ -80,6 +80,13 @@
                        "priority": "MEDIUM",
                        "required": "false"
                },
+               "camel.sink.endpoint.deliveryTimeoutMs": {
+                       "name": "camel.sink.endpoint.deliveryTimeoutMs",
+                       "description": "An upper bound on the time to report 
success or failure after a call to send() returns. This limits the total time 
that a record will be delayed prior to sending, the time to await 
acknowledgement from the broker (if expected), and the time allowed for 
retriable send failures.",
+                       "defaultValue": "\"120000\"",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
                "camel.sink.endpoint.enableIdempotence": {
                        "name": "camel.sink.endpoint.enableIdempotence",
                        "description": "If set to 'true' the producer will 
ensure that exactly one copy of each message is written in the stream. If 
'false', producer retries may write duplicates of the retried message in the 
stream. If set to true this option will require 
max.in.flight.requests.per.connection to be set to 1 and retries cannot be zero 
and additionally acks must be set to 'all'.",
@@ -530,6 +537,13 @@
                        "priority": "MEDIUM",
                        "required": "false"
                },
+               "camel.component.kafka.deliveryTimeoutMs": {
+                       "name": "camel.component.kafka.deliveryTimeoutMs",
+                       "description": "An upper bound on the time to report 
success or failure after a call to send() returns. This limits the total time 
that a record will be delayed prior to sending, the time to await 
acknowledgement from the broker (if expected), and the time allowed for 
retriable send failures.",
+                       "defaultValue": "\"120000\"",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
                "camel.component.kafka.enableIdempotence": {
                        "name": "camel.component.kafka.enableIdempotence",
                        "description": "If set to 'true' the producer will 
ensure that exactly one copy of each message is written in the stream. If 
'false', producer retries may write duplicates of the retried message in the 
stream. If set to true this option will require 
max.in.flight.requests.per.connection to be set to 1 and retries cannot be zero 
and additionally acks must be set to 'all'.",
diff --git 
a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solr-sink.json
 
b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solr-sink.json
index 3e1a727..52d80e1 100644
--- 
a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solr-sink.json
+++ 
b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solr-sink.json
@@ -11,38 +11,32 @@
        "properties": {
                "camel.sink.path.url": {
                        "name": "camel.sink.path.url",
-                       "description": "Hostname and port for the solr server",
+                       "description": "Hostname and port for the Solr 
server(s). Multiple hosts can be specified, separated with a comma. See the 
solrClient parameter for more information on the SolrClient used to connect to 
Solr.",
                        "priority": "HIGH",
                        "required": "true"
                },
-               "camel.sink.endpoint.allowCompression": {
-                       "name": "camel.sink.endpoint.allowCompression",
-                       "description": "Server side must support gzip or 
deflate for this to have any effect",
-                       "priority": "MEDIUM",
-                       "required": "false"
-               },
                "camel.sink.endpoint.autoCommit": {
                        "name": "camel.sink.endpoint.autoCommit",
-                       "description": "If true, each producer operation will 
be committed automatically",
+                       "description": "If true, each producer operation will 
be automatically followed by a commit",
                        "defaultValue": "false",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.connectionTimeout": {
                        "name": "camel.sink.endpoint.connectionTimeout",
-                       "description": "connectionTimeout on the underlying 
HttpConnectionManager",
+                       "description": "Sets the connection timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.defaultMaxConnectionsPerHost": {
                        "name": 
"camel.sink.endpoint.defaultMaxConnectionsPerHost",
                        "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
-               "camel.sink.endpoint.followRedirects": {
-                       "name": "camel.sink.endpoint.followRedirects",
-                       "description": "indicates whether redirects are used to 
get to the Solr server",
+               "camel.sink.endpoint.httpClient": {
+                       "name": "camel.sink.endpoint.httpClient",
+                       "description": "Sets the http client to be used by the 
solrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
@@ -56,13 +50,13 @@
                "camel.sink.endpoint.maxRetries": {
                        "name": "camel.sink.endpoint.maxRetries",
                        "description": "Maximum number of retries to attempt in 
the event of transient errors",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.maxTotalConnections": {
                        "name": "camel.sink.endpoint.maxTotalConnections",
                        "description": "maxTotalConnection on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.requestHandler": {
@@ -71,47 +65,71 @@
                        "priority": "MEDIUM",
                        "required": "false"
                },
+               "camel.sink.endpoint.solrClient": {
+                       "name": "camel.sink.endpoint.solrClient",
+                       "description": "Uses the provided solr client to 
connect to solr. When this parameter is not specified, camel applies the 
following rules to determine the SolrClient. A CloudSolrClient should point to 
a zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme is 'solrCloud') or [...]
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
                "camel.sink.endpoint.soTimeout": {
                        "name": "camel.sink.endpoint.soTimeout",
-                       "description": "Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing",
+                       "description": "Sets the socket timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingQueueSize": {
                        "name": "camel.sink.endpoint.streamingQueueSize",
-                       "description": "Set the queue size for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "10",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingThreadCount": {
                        "name": "camel.sink.endpoint.streamingThreadCount",
-                       "description": "Set the number of threads for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "2",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.password": {
-                       "name": "camel.sink.endpoint.password",
-                       "description": "Sets password for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.collection": {
+                       "name": "camel.sink.endpoint.collection",
+                       "description": "Set the default collection for 
SolrCloud",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.username": {
-                       "name": "camel.sink.endpoint.username",
-                       "description": "Sets username for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.zkChroot": {
+                       "name": "camel.sink.endpoint.zkChroot",
+                       "description": "Set the chroot of the zookeeper 
connection (include the leading slash; e.g. '\/mychroot')",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.collection": {
-                       "name": "camel.sink.endpoint.collection",
-                       "description": "Set the collection name which the 
solrCloud server could use",
+               "camel.sink.endpoint.zkHost": {
+                       "name": "camel.sink.endpoint.zkHost",
+                       "description": "Set the ZooKeeper host(s) urls which 
the CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally 
add the chroot, e.g. zkHost=localhost:8123,localhost:8124\/rootformysolr. In 
case the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123\/solr' or 'localhost:8123\/solr\/..'), then that path is 
not considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zkChroot par [...]
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.zkHost": {
-                       "name": "camel.sink.endpoint.zkHost",
-                       "description": "Set the ZooKeeper host information 
which the solrCloud could use, such as zkhost=localhost:8123.",
+               "camel.sink.endpoint.allowCompression": {
+                       "name": "camel.sink.endpoint.allowCompression",
+                       "description": "Server side must support gzip or 
deflate for this to have any effect",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.followRedirects": {
+                       "name": "camel.sink.endpoint.followRedirects",
+                       "description": "Indicates whether redirects are used to 
get to the Solr server",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.password": {
+                       "name": "camel.sink.endpoint.password",
+                       "description": "Sets password for basic auth plugin 
enabled servers",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.username": {
+                       "name": "camel.sink.endpoint.username",
+                       "description": "Sets username for basic auth plugin 
enabled servers",
                        "priority": "MEDIUM",
                        "required": "false"
                },
diff --git 
a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solrCloud-sink.json
 
b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solrCloud-sink.json
index 5ff48a1..9760bcf 100644
--- 
a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solrCloud-sink.json
+++ 
b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solrCloud-sink.json
@@ -11,38 +11,32 @@
        "properties": {
                "camel.sink.path.url": {
                        "name": "camel.sink.path.url",
-                       "description": "Hostname and port for the solr server",
+                       "description": "Hostname and port for the Solr 
server(s). Multiple hosts can be specified, separated with a comma. See the 
solrClient parameter for more information on the SolrClient used to connect to 
Solr.",
                        "priority": "HIGH",
                        "required": "true"
                },
-               "camel.sink.endpoint.allowCompression": {
-                       "name": "camel.sink.endpoint.allowCompression",
-                       "description": "Server side must support gzip or 
deflate for this to have any effect",
-                       "priority": "MEDIUM",
-                       "required": "false"
-               },
                "camel.sink.endpoint.autoCommit": {
                        "name": "camel.sink.endpoint.autoCommit",
-                       "description": "If true, each producer operation will 
be committed automatically",
+                       "description": "If true, each producer operation will 
be automatically followed by a commit",
                        "defaultValue": "false",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.connectionTimeout": {
                        "name": "camel.sink.endpoint.connectionTimeout",
-                       "description": "connectionTimeout on the underlying 
HttpConnectionManager",
+                       "description": "Sets the connection timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.defaultMaxConnectionsPerHost": {
                        "name": 
"camel.sink.endpoint.defaultMaxConnectionsPerHost",
                        "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
-               "camel.sink.endpoint.followRedirects": {
-                       "name": "camel.sink.endpoint.followRedirects",
-                       "description": "indicates whether redirects are used to 
get to the Solr server",
+               "camel.sink.endpoint.httpClient": {
+                       "name": "camel.sink.endpoint.httpClient",
+                       "description": "Sets the http client to be used by the 
solrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
@@ -56,13 +50,13 @@
                "camel.sink.endpoint.maxRetries": {
                        "name": "camel.sink.endpoint.maxRetries",
                        "description": "Maximum number of retries to attempt in 
the event of transient errors",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.maxTotalConnections": {
                        "name": "camel.sink.endpoint.maxTotalConnections",
                        "description": "maxTotalConnection on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.requestHandler": {
@@ -71,47 +65,71 @@
                        "priority": "MEDIUM",
                        "required": "false"
                },
+               "camel.sink.endpoint.solrClient": {
+                       "name": "camel.sink.endpoint.solrClient",
+                       "description": "Uses the provided solr client to 
connect to solr. When this parameter is not specified, camel applies the 
following rules to determine the SolrClient. A CloudSolrClient should point to 
a zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme is 'solrCloud') or [...]
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
                "camel.sink.endpoint.soTimeout": {
                        "name": "camel.sink.endpoint.soTimeout",
-                       "description": "Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing",
+                       "description": "Sets the socket timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingQueueSize": {
                        "name": "camel.sink.endpoint.streamingQueueSize",
-                       "description": "Set the queue size for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "10",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingThreadCount": {
                        "name": "camel.sink.endpoint.streamingThreadCount",
-                       "description": "Set the number of threads for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "2",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.password": {
-                       "name": "camel.sink.endpoint.password",
-                       "description": "Sets password for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.collection": {
+                       "name": "camel.sink.endpoint.collection",
+                       "description": "Set the default collection for 
SolrCloud",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.username": {
-                       "name": "camel.sink.endpoint.username",
-                       "description": "Sets username for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.zkChroot": {
+                       "name": "camel.sink.endpoint.zkChroot",
+                       "description": "Set the chroot of the zookeeper 
connection (include the leading slash; e.g. '\/mychroot')",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.collection": {
-                       "name": "camel.sink.endpoint.collection",
-                       "description": "Set the collection name which the 
solrCloud server could use",
+               "camel.sink.endpoint.zkHost": {
+                       "name": "camel.sink.endpoint.zkHost",
+                       "description": "Set the ZooKeeper host(s) urls which 
the CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally 
add the chroot, e.g. zkHost=localhost:8123,localhost:8124\/rootformysolr. In 
case the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123\/solr' or 'localhost:8123\/solr\/..'), then that path is 
not considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zkChroot par [...]
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.zkHost": {
-                       "name": "camel.sink.endpoint.zkHost",
-                       "description": "Set the ZooKeeper host information 
which the solrCloud could use, such as zkhost=localhost:8123.",
+               "camel.sink.endpoint.allowCompression": {
+                       "name": "camel.sink.endpoint.allowCompression",
+                       "description": "Server side must support gzip or 
deflate for this to have any effect",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.followRedirects": {
+                       "name": "camel.sink.endpoint.followRedirects",
+                       "description": "Indicates whether redirects are used to 
get to the Solr server",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.password": {
+                       "name": "camel.sink.endpoint.password",
+                       "description": "Sets password for basic auth plugin 
enabled servers",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.username": {
+                       "name": "camel.sink.endpoint.username",
+                       "description": "Sets username for basic auth plugin 
enabled servers",
                        "priority": "MEDIUM",
                        "required": "false"
                },
diff --git 
a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solrs-sink.json
 
b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solrs-sink.json
index 135fbad..73d6d79 100644
--- 
a/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solrs-sink.json
+++ 
b/camel-kafka-connector-catalog/src/generated/resources/connectors/camel-solrs-sink.json
@@ -11,38 +11,32 @@
        "properties": {
                "camel.sink.path.url": {
                        "name": "camel.sink.path.url",
-                       "description": "Hostname and port for the solr server",
+                       "description": "Hostname and port for the Solr 
server(s). Multiple hosts can be specified, separated with a comma. See the 
solrClient parameter for more information on the SolrClient used to connect to 
Solr.",
                        "priority": "HIGH",
                        "required": "true"
                },
-               "camel.sink.endpoint.allowCompression": {
-                       "name": "camel.sink.endpoint.allowCompression",
-                       "description": "Server side must support gzip or 
deflate for this to have any effect",
-                       "priority": "MEDIUM",
-                       "required": "false"
-               },
                "camel.sink.endpoint.autoCommit": {
                        "name": "camel.sink.endpoint.autoCommit",
-                       "description": "If true, each producer operation will 
be committed automatically",
+                       "description": "If true, each producer operation will 
be automatically followed by a commit",
                        "defaultValue": "false",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.connectionTimeout": {
                        "name": "camel.sink.endpoint.connectionTimeout",
-                       "description": "connectionTimeout on the underlying 
HttpConnectionManager",
+                       "description": "Sets the connection timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.defaultMaxConnectionsPerHost": {
                        "name": 
"camel.sink.endpoint.defaultMaxConnectionsPerHost",
                        "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
-               "camel.sink.endpoint.followRedirects": {
-                       "name": "camel.sink.endpoint.followRedirects",
-                       "description": "indicates whether redirects are used to 
get to the Solr server",
+               "camel.sink.endpoint.httpClient": {
+                       "name": "camel.sink.endpoint.httpClient",
+                       "description": "Sets the http client to be used by the 
solrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
@@ -56,13 +50,13 @@
                "camel.sink.endpoint.maxRetries": {
                        "name": "camel.sink.endpoint.maxRetries",
                        "description": "Maximum number of retries to attempt in 
the event of transient errors",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.maxTotalConnections": {
                        "name": "camel.sink.endpoint.maxTotalConnections",
                        "description": "maxTotalConnection on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.requestHandler": {
@@ -71,47 +65,71 @@
                        "priority": "MEDIUM",
                        "required": "false"
                },
+               "camel.sink.endpoint.solrClient": {
+                       "name": "camel.sink.endpoint.solrClient",
+                       "description": "Uses the provided solr client to 
connect to solr. When this parameter is not specified, camel applies the 
following rules to determine the SolrClient. A CloudSolrClient should point to 
a zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme is 'solrCloud') or [...]
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
                "camel.sink.endpoint.soTimeout": {
                        "name": "camel.sink.endpoint.soTimeout",
-                       "description": "Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing",
+                       "description": "Sets the socket timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingQueueSize": {
                        "name": "camel.sink.endpoint.streamingQueueSize",
-                       "description": "Set the queue size for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "10",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingThreadCount": {
                        "name": "camel.sink.endpoint.streamingThreadCount",
-                       "description": "Set the number of threads for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "2",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.password": {
-                       "name": "camel.sink.endpoint.password",
-                       "description": "Sets password for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.collection": {
+                       "name": "camel.sink.endpoint.collection",
+                       "description": "Set the default collection for 
SolrCloud",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.username": {
-                       "name": "camel.sink.endpoint.username",
-                       "description": "Sets username for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.zkChroot": {
+                       "name": "camel.sink.endpoint.zkChroot",
+                       "description": "Set the chroot of the zookeeper 
connection (include the leading slash; e.g. '\/mychroot')",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.collection": {
-                       "name": "camel.sink.endpoint.collection",
-                       "description": "Set the collection name which the 
solrCloud server could use",
+               "camel.sink.endpoint.zkHost": {
+                       "name": "camel.sink.endpoint.zkHost",
+                       "description": "Set the ZooKeeper host(s) urls which 
the CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally 
add the chroot, e.g. zkHost=localhost:8123,localhost:8124\/rootformysolr. In 
case the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123\/solr' or 'localhost:8123\/solr\/..'), then that path is 
not considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zkChroot par [...]
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.zkHost": {
-                       "name": "camel.sink.endpoint.zkHost",
-                       "description": "Set the ZooKeeper host information 
which the solrCloud could use, such as zkhost=localhost:8123.",
+               "camel.sink.endpoint.allowCompression": {
+                       "name": "camel.sink.endpoint.allowCompression",
+                       "description": "Server side must support gzip or 
deflate for this to have any effect",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.followRedirects": {
+                       "name": "camel.sink.endpoint.followRedirects",
+                       "description": "Indicates whether redirects are used to 
get to the Solr server",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.password": {
+                       "name": "camel.sink.endpoint.password",
+                       "description": "Sets password for basic auth plugin 
enabled servers",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.username": {
+                       "name": "camel.sink.endpoint.username",
+                       "description": "Sets username for basic auth plugin 
enabled servers",
                        "priority": "MEDIUM",
                        "required": "false"
                },
diff --git 
a/connectors/camel-solr-kafka-connector/src/generated/resources/camel-solr-sink.json
 
b/connectors/camel-solr-kafka-connector/src/generated/resources/camel-solr-sink.json
index 3e1a727..52d80e1 100644
--- 
a/connectors/camel-solr-kafka-connector/src/generated/resources/camel-solr-sink.json
+++ 
b/connectors/camel-solr-kafka-connector/src/generated/resources/camel-solr-sink.json
@@ -11,38 +11,32 @@
        "properties": {
                "camel.sink.path.url": {
                        "name": "camel.sink.path.url",
-                       "description": "Hostname and port for the solr server",
+                       "description": "Hostname and port for the Solr 
server(s). Multiple hosts can be specified, separated with a comma. See the 
solrClient parameter for more information on the SolrClient used to connect to 
Solr.",
                        "priority": "HIGH",
                        "required": "true"
                },
-               "camel.sink.endpoint.allowCompression": {
-                       "name": "camel.sink.endpoint.allowCompression",
-                       "description": "Server side must support gzip or 
deflate for this to have any effect",
-                       "priority": "MEDIUM",
-                       "required": "false"
-               },
                "camel.sink.endpoint.autoCommit": {
                        "name": "camel.sink.endpoint.autoCommit",
-                       "description": "If true, each producer operation will 
be committed automatically",
+                       "description": "If true, each producer operation will 
be automatically followed by a commit",
                        "defaultValue": "false",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.connectionTimeout": {
                        "name": "camel.sink.endpoint.connectionTimeout",
-                       "description": "connectionTimeout on the underlying 
HttpConnectionManager",
+                       "description": "Sets the connection timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.defaultMaxConnectionsPerHost": {
                        "name": 
"camel.sink.endpoint.defaultMaxConnectionsPerHost",
                        "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
-               "camel.sink.endpoint.followRedirects": {
-                       "name": "camel.sink.endpoint.followRedirects",
-                       "description": "indicates whether redirects are used to 
get to the Solr server",
+               "camel.sink.endpoint.httpClient": {
+                       "name": "camel.sink.endpoint.httpClient",
+                       "description": "Sets the http client to be used by the 
solrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
@@ -56,13 +50,13 @@
                "camel.sink.endpoint.maxRetries": {
                        "name": "camel.sink.endpoint.maxRetries",
                        "description": "Maximum number of retries to attempt in 
the event of transient errors",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.maxTotalConnections": {
                        "name": "camel.sink.endpoint.maxTotalConnections",
                        "description": "maxTotalConnection on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.requestHandler": {
@@ -71,47 +65,71 @@
                        "priority": "MEDIUM",
                        "required": "false"
                },
+               "camel.sink.endpoint.solrClient": {
+                       "name": "camel.sink.endpoint.solrClient",
+                       "description": "Uses the provided solr client to 
connect to solr. When this parameter is not specified, camel applies the 
following rules to determine the SolrClient. A CloudSolrClient should point to 
a zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme is 'solrCloud') or [...]
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
                "camel.sink.endpoint.soTimeout": {
                        "name": "camel.sink.endpoint.soTimeout",
-                       "description": "Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing",
+                       "description": "Sets the socket timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingQueueSize": {
                        "name": "camel.sink.endpoint.streamingQueueSize",
-                       "description": "Set the queue size for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "10",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingThreadCount": {
                        "name": "camel.sink.endpoint.streamingThreadCount",
-                       "description": "Set the number of threads for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "2",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.password": {
-                       "name": "camel.sink.endpoint.password",
-                       "description": "Sets password for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.collection": {
+                       "name": "camel.sink.endpoint.collection",
+                       "description": "Set the default collection for 
SolrCloud",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.username": {
-                       "name": "camel.sink.endpoint.username",
-                       "description": "Sets username for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.zkChroot": {
+                       "name": "camel.sink.endpoint.zkChroot",
+                       "description": "Set the chroot of the zookeeper 
connection (include the leading slash; e.g. '\/mychroot')",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.collection": {
-                       "name": "camel.sink.endpoint.collection",
-                       "description": "Set the collection name which the 
solrCloud server could use",
+               "camel.sink.endpoint.zkHost": {
+                       "name": "camel.sink.endpoint.zkHost",
+                       "description": "Set the ZooKeeper host(s) urls which 
the CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally 
add the chroot, e.g. zkHost=localhost:8123,localhost:8124\/rootformysolr. In 
case the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123\/solr' or 'localhost:8123\/solr\/..'), then that path is 
not considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zkChroot par [...]
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.zkHost": {
-                       "name": "camel.sink.endpoint.zkHost",
-                       "description": "Set the ZooKeeper host information 
which the solrCloud could use, such as zkhost=localhost:8123.",
+               "camel.sink.endpoint.allowCompression": {
+                       "name": "camel.sink.endpoint.allowCompression",
+                       "description": "Server side must support gzip or 
deflate for this to have any effect",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.followRedirects": {
+                       "name": "camel.sink.endpoint.followRedirects",
+                       "description": "Indicates whether redirects are used to 
get to the Solr server",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.password": {
+                       "name": "camel.sink.endpoint.password",
+                       "description": "Sets password for basic auth plugin 
enabled servers",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.username": {
+                       "name": "camel.sink.endpoint.username",
+                       "description": "Sets username for basic auth plugin 
enabled servers",
                        "priority": "MEDIUM",
                        "required": "false"
                },
diff --git 
a/connectors/camel-solr-kafka-connector/src/main/docs/camel-solr-kafka-sink-connector.adoc
 
b/connectors/camel-solr-kafka-connector/src/main/docs/camel-solr-kafka-sink-connector.adoc
index 3f2aff1..b581946 100644
--- 
a/connectors/camel-solr-kafka-connector/src/main/docs/camel-solr-kafka-sink-connector.adoc
+++ 
b/connectors/camel-solr-kafka-connector/src/main/docs/camel-solr-kafka-sink-connector.adoc
@@ -24,30 +24,33 @@ 
connector.class=org.apache.camel.kafkaconnector.solr.CamelSolrSinkConnector
 ----
 
 
-The camel-solr sink connector supports 19 options, which are listed below.
+The camel-solr sink connector supports 22 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,1,1",options="header"]
 |===
 | Name | Description | Default | Required | Priority
-| *camel.sink.path.url* | Hostname and port for the solr server | null | true 
| HIGH
-| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
-| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
committed automatically | false | false | MEDIUM
-| *camel.sink.endpoint.connectionTimeout* | connectionTimeout on the 
underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.followRedirects* | indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
+| *camel.sink.path.url* | Hostname and port for the Solr server(s). Multiple 
hosts can be specified, separated with a comma. See the solrClient parameter 
for more information on the SolrClient used to connect to Solr. | null | true | 
HIGH
+| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
automatically followed by a commit | false | false | MEDIUM
+| *camel.sink.endpoint.connectionTimeout* | Sets the connection timeout on the 
SolrClient | null | false | MEDIUM
+| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | LOW
+| *camel.sink.endpoint.httpClient* | Sets the http client to be used by the 
solrClient | null | 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.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | MEDIUM
-| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | MEDIUM
+| *camel.sink.endpoint.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | LOW
+| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | LOW
 | *camel.sink.endpoint.requestHandler* | Set the request handler to be used | 
null | false | MEDIUM
-| *camel.sink.endpoint.soTimeout* | Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing | null | false | MEDIUM
-| *camel.sink.endpoint.streamingQueueSize* | Set the queue size for the 
StreamingUpdateSolrServer | 10 | false | MEDIUM
-| *camel.sink.endpoint.streamingThreadCount* | Set the number of threads for 
the StreamingUpdateSolrServer | 2 | false | MEDIUM
+| *camel.sink.endpoint.solrClient* | Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies the following 
rules to determine the SolrClient. A CloudSolrClient should point to a 
zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme  [...]
+| *camel.sink.endpoint.soTimeout* | Sets the socket timeout on the SolrClient 
| null | false | MEDIUM
+| *camel.sink.endpoint.streamingQueueSize* | Sets the queue size for the 
ConcurrentUpdateSolrClient | 10 | false | MEDIUM
+| *camel.sink.endpoint.streamingThreadCount* | Sets the number of threads for 
the ConcurrentUpdateSolrClient | 2 | false | MEDIUM
+| *camel.sink.endpoint.collection* | Set the default collection for SolrCloud 
| null | false | MEDIUM
+| *camel.sink.endpoint.zkChroot* | Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '/mychroot') | null | false | MEDIUM
+| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally add 
the chroot, e.g. zkHost=localhost:8123,localhost:8124/rootformysolr. In case 
the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123/solr' or 'localhost:8123/solr/..'), then that path is not 
considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zk [...]
+| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
+| *camel.sink.endpoint.followRedirects* | Indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
 | *camel.sink.endpoint.password* | Sets password for basic auth plugin enabled 
servers | null | false | MEDIUM
 | *camel.sink.endpoint.username* | Sets username for basic auth plugin enabled 
servers | null | false | MEDIUM
-| *camel.sink.endpoint.collection* | Set the collection name which the 
solrCloud server could use | null | false | MEDIUM
-| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123. | null | false | MEDIUM
 | *camel.component.solr.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.solr.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
 |===
diff --git 
a/connectors/camel-solr-kafka-connector/src/main/docs/examples/CamelSolrSinkConnector.properties
 
b/connectors/camel-solr-kafka-connector/src/main/docs/examples/CamelSolrSinkConnector.properties
index bc1f46d..6949116 100644
--- 
a/connectors/camel-solr-kafka-connector/src/main/docs/examples/CamelSolrSinkConnector.properties
+++ 
b/connectors/camel-solr-kafka-connector/src/main/docs/examples/CamelSolrSinkConnector.properties
@@ -28,6 +28,6 @@ topics=
 
 # mandatory properties (for a complete properties list see the connector 
documentation):
 
-# Hostname and port for the solr server
+# Hostname and port for the Solr server(s). Multiple hosts can be specified, 
separated with a comma. See the solrClient parameter for more information on 
the SolrClient used to connect to Solr.
 camel.sink.path.url=
 
diff --git 
a/connectors/camel-solr-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solr/CamelSolrSinkConnectorConfig.java
 
b/connectors/camel-solr-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solr/CamelSolrSinkConnectorConfig.java
index e8275ca..1064097 100644
--- 
a/connectors/camel-solr-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solr/CamelSolrSinkConnectorConfig.java
+++ 
b/connectors/camel-solr-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solr/CamelSolrSinkConnectorConfig.java
@@ -25,23 +25,20 @@ import org.apache.kafka.common.config.ConfigDef;
 public class CamelSolrSinkConnectorConfig extends CamelSinkConnectorConfig {
 
     public static final String CAMEL_SINK_SOLR_PATH_URL_CONF = 
"camel.sink.path.url";
-    public static final String CAMEL_SINK_SOLR_PATH_URL_DOC = "Hostname and 
port for the solr server";
+    public static final String CAMEL_SINK_SOLR_PATH_URL_DOC = "Hostname and 
port for the Solr server(s). Multiple hosts can be specified, separated with a 
comma. See the solrClient parameter for more information on the SolrClient used 
to connect to Solr.";
     public static final String CAMEL_SINK_SOLR_PATH_URL_DEFAULT = null;
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_CONF 
= "camel.sink.endpoint.allowCompression";
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_DOC 
= "Server side must support gzip or deflate for this to have any effect";
-    public static final String 
CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_DEFAULT = null;
     public static final String CAMEL_SINK_SOLR_ENDPOINT_AUTO_COMMIT_CONF = 
"camel.sink.endpoint.autoCommit";
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_AUTO_COMMIT_DOC = "If 
true, each producer operation will be committed automatically";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_AUTO_COMMIT_DOC = "If 
true, each producer operation will be automatically followed by a commit";
     public static final Boolean CAMEL_SINK_SOLR_ENDPOINT_AUTO_COMMIT_DEFAULT = 
false;
     public static final String 
CAMEL_SINK_SOLR_ENDPOINT_CONNECTION_TIMEOUT_CONF = 
"camel.sink.endpoint.connectionTimeout";
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_CONNECTION_TIMEOUT_DOC 
= "connectionTimeout on the underlying HttpConnectionManager";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_CONNECTION_TIMEOUT_DOC 
= "Sets the connection timeout on the SolrClient";
     public static final String 
CAMEL_SINK_SOLR_ENDPOINT_CONNECTION_TIMEOUT_DEFAULT = null;
     public static final String 
CAMEL_SINK_SOLR_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_CONF = 
"camel.sink.endpoint.defaultMaxConnectionsPerHost";
     public static final String 
CAMEL_SINK_SOLR_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DOC = 
"maxConnectionsPerHost on the underlying HttpConnectionManager";
     public static final String 
CAMEL_SINK_SOLR_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DEFAULT = null;
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_CONF 
= "camel.sink.endpoint.followRedirects";
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_DOC = 
"indicates whether redirects are used to get to the Solr server";
-    public static final String 
CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT = null;
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_HTTP_CLIENT_CONF = 
"camel.sink.endpoint.httpClient";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_HTTP_CLIENT_DOC = 
"Sets the http client to be used by the solrClient";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_HTTP_CLIENT_DEFAULT = 
null;
     public static final String 
CAMEL_SINK_SOLR_ENDPOINT_LAZY_START_PRODUCER_CONF = 
"camel.sink.endpoint.lazyStartProducer";
     public static final String 
CAMEL_SINK_SOLR_ENDPOINT_LAZY_START_PRODUCER_DOC = "Whether the producer should 
be started lazy (on the first message). By starting lazy you can use this to 
allow CamelContext and routes to startup in situations where a producer may 
otherwise fail during starting and cause the route to fail being started. By 
deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that when  
[...]
     public static final Boolean 
CAMEL_SINK_SOLR_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -54,27 +51,39 @@ public class CamelSolrSinkConnectorConfig extends 
CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_SOLR_ENDPOINT_REQUEST_HANDLER_CONF = 
"camel.sink.endpoint.requestHandler";
     public static final String CAMEL_SINK_SOLR_ENDPOINT_REQUEST_HANDLER_DOC = 
"Set the request handler to be used";
     public static final String 
CAMEL_SINK_SOLR_ENDPOINT_REQUEST_HANDLER_DEFAULT = null;
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_SOLR_CLIENT_CONF = 
"camel.sink.endpoint.solrClient";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_SOLR_CLIENT_DOC = 
"Uses the provided solr client to connect to solr. When this parameter is not 
specified, camel applies the following rules to determine the SolrClient. A 
CloudSolrClient should point to a zookeeper endpoint. Other clients point to a 
Solr endpoint. 1) when zkHost or zkChroot (=zookeeper root) parameter is set, 
then the CloudSolrClient is used. 2) when multiple hosts are specified in the 
uri (separated with a comma), [...]
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_SOLR_CLIENT_DEFAULT = 
null;
     public static final String CAMEL_SINK_SOLR_ENDPOINT_SO_TIMEOUT_CONF = 
"camel.sink.endpoint.soTimeout";
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_SO_TIMEOUT_DOC = "Read 
timeout on the underlying HttpConnectionManager. This is desirable for queries, 
but probably not for indexing";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_SO_TIMEOUT_DOC = "Sets 
the socket timeout on the SolrClient";
     public static final String CAMEL_SINK_SOLR_ENDPOINT_SO_TIMEOUT_DEFAULT = 
null;
     public static final String 
CAMEL_SINK_SOLR_ENDPOINT_STREAMING_QUEUE_SIZE_CONF = 
"camel.sink.endpoint.streamingQueueSize";
-    public static final String 
CAMEL_SINK_SOLR_ENDPOINT_STREAMING_QUEUE_SIZE_DOC = "Set the queue size for the 
StreamingUpdateSolrServer";
+    public static final String 
CAMEL_SINK_SOLR_ENDPOINT_STREAMING_QUEUE_SIZE_DOC = "Sets the queue size for 
the ConcurrentUpdateSolrClient";
     public static final Integer 
CAMEL_SINK_SOLR_ENDPOINT_STREAMING_QUEUE_SIZE_DEFAULT = 10;
     public static final String 
CAMEL_SINK_SOLR_ENDPOINT_STREAMING_THREAD_COUNT_CONF = 
"camel.sink.endpoint.streamingThreadCount";
-    public static final String 
CAMEL_SINK_SOLR_ENDPOINT_STREAMING_THREAD_COUNT_DOC = "Set the number of 
threads for the StreamingUpdateSolrServer";
+    public static final String 
CAMEL_SINK_SOLR_ENDPOINT_STREAMING_THREAD_COUNT_DOC = "Sets the number of 
threads for the ConcurrentUpdateSolrClient";
     public static final Integer 
CAMEL_SINK_SOLR_ENDPOINT_STREAMING_THREAD_COUNT_DEFAULT = 2;
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_COLLECTION_CONF = 
"camel.sink.endpoint.collection";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_COLLECTION_DOC = "Set 
the default collection for SolrCloud";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_COLLECTION_DEFAULT = 
null;
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_ZK_CHROOT_CONF = 
"camel.sink.endpoint.zkChroot";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_ZK_CHROOT_DOC = "Set 
the chroot of the zookeeper connection (include the leading slash; e.g. 
'/mychroot')";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_ZK_CHROOT_DEFAULT = 
null;
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_ZK_HOST_CONF = 
"camel.sink.endpoint.zkHost";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_ZK_HOST_DOC = "Set the 
ZooKeeper host(s) urls which the CloudSolrClient uses, e.g. 
zkHost=localhost:8123,localhost:8124. Optionally add the chroot, e.g. 
zkHost=localhost:8123,localhost:8124/rootformysolr. In case the first part of 
the chroot path in the zkHost parameter is set to 'solr' (e.g. 
'localhost:8123/solr' or 'localhost:8123/solr/..'), then that path is not 
considered as zookeeper chroot for backward compatibility reasons (t [...]
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_ZK_HOST_DEFAULT = null;
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_CONF 
= "camel.sink.endpoint.allowCompression";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_DOC 
= "Server side must support gzip or deflate for this to have any effect";
+    public static final String 
CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_DEFAULT = null;
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_CONF 
= "camel.sink.endpoint.followRedirects";
+    public static final String CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_DOC = 
"Indicates whether redirects are used to get to the Solr server";
+    public static final String 
CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT = null;
     public static final String CAMEL_SINK_SOLR_ENDPOINT_PASSWORD_CONF = 
"camel.sink.endpoint.password";
     public static final String CAMEL_SINK_SOLR_ENDPOINT_PASSWORD_DOC = "Sets 
password for basic auth plugin enabled servers";
     public static final String CAMEL_SINK_SOLR_ENDPOINT_PASSWORD_DEFAULT = 
null;
     public static final String CAMEL_SINK_SOLR_ENDPOINT_USERNAME_CONF = 
"camel.sink.endpoint.username";
     public static final String CAMEL_SINK_SOLR_ENDPOINT_USERNAME_DOC = "Sets 
username for basic auth plugin enabled servers";
     public static final String CAMEL_SINK_SOLR_ENDPOINT_USERNAME_DEFAULT = 
null;
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_COLLECTION_CONF = 
"camel.sink.endpoint.collection";
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_COLLECTION_DOC = "Set 
the collection name which the solrCloud server could use";
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_COLLECTION_DEFAULT = 
null;
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_ZK_HOST_CONF = 
"camel.sink.endpoint.zkHost";
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_ZK_HOST_DOC = "Set the 
ZooKeeper host information which the solrCloud could use, such as 
zkhost=localhost:8123.";
-    public static final String CAMEL_SINK_SOLR_ENDPOINT_ZK_HOST_DEFAULT = null;
     public static final String 
CAMEL_SINK_SOLR_COMPONENT_LAZY_START_PRODUCER_CONF = 
"camel.component.solr.lazyStartProducer";
     public static final String 
CAMEL_SINK_SOLR_COMPONENT_LAZY_START_PRODUCER_DOC = "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during starting and cause the route to fail being started. 
By deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that when 
[...]
     public static final Boolean 
CAMEL_SINK_SOLR_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -95,22 +104,25 @@ public class CamelSolrSinkConnectorConfig extends 
CamelSinkConnectorConfig {
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_SOLR_PATH_URL_CONF, ConfigDef.Type.STRING, 
CAMEL_SINK_SOLR_PATH_URL_DEFAULT, ConfigDef.Importance.HIGH, 
CAMEL_SINK_SOLR_PATH_URL_DOC);
-        conf.define(CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_DOC);
         conf.define(CAMEL_SINK_SOLR_ENDPOINT_AUTO_COMMIT_CONF, 
ConfigDef.Type.BOOLEAN, CAMEL_SINK_SOLR_ENDPOINT_AUTO_COMMIT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_AUTO_COMMIT_DOC);
         conf.define(CAMEL_SINK_SOLR_ENDPOINT_CONNECTION_TIMEOUT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_CONNECTION_TIMEOUT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_CONNECTION_TIMEOUT_DOC);
-        
conf.define(CAMEL_SINK_SOLR_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_CONF, 
ConfigDef.Type.STRING, 
CAMEL_SINK_SOLR_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLR_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DOC);
-        conf.define(CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_DOC);
+        
conf.define(CAMEL_SINK_SOLR_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_CONF, 
ConfigDef.Type.STRING, 
CAMEL_SINK_SOLR_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DEFAULT, 
ConfigDef.Importance.LOW, 
CAMEL_SINK_SOLR_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DOC);
+        conf.define(CAMEL_SINK_SOLR_ENDPOINT_HTTP_CLIENT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_HTTP_CLIENT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_HTTP_CLIENT_DOC);
         conf.define(CAMEL_SINK_SOLR_ENDPOINT_LAZY_START_PRODUCER_CONF, 
ConfigDef.Type.BOOLEAN, CAMEL_SINK_SOLR_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_LAZY_START_PRODUCER_DOC);
-        conf.define(CAMEL_SINK_SOLR_ENDPOINT_MAX_RETRIES_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_MAX_RETRIES_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_MAX_RETRIES_DOC);
-        conf.define(CAMEL_SINK_SOLR_ENDPOINT_MAX_TOTAL_CONNECTIONS_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_MAX_TOTAL_CONNECTIONS_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLR_ENDPOINT_MAX_TOTAL_CONNECTIONS_DOC);
+        conf.define(CAMEL_SINK_SOLR_ENDPOINT_MAX_RETRIES_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_MAX_RETRIES_DEFAULT, 
ConfigDef.Importance.LOW, CAMEL_SINK_SOLR_ENDPOINT_MAX_RETRIES_DOC);
+        conf.define(CAMEL_SINK_SOLR_ENDPOINT_MAX_TOTAL_CONNECTIONS_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_MAX_TOTAL_CONNECTIONS_DEFAULT, 
ConfigDef.Importance.LOW, CAMEL_SINK_SOLR_ENDPOINT_MAX_TOTAL_CONNECTIONS_DOC);
         conf.define(CAMEL_SINK_SOLR_ENDPOINT_REQUEST_HANDLER_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_REQUEST_HANDLER_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_REQUEST_HANDLER_DOC);
+        conf.define(CAMEL_SINK_SOLR_ENDPOINT_SOLR_CLIENT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_SOLR_CLIENT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_SOLR_CLIENT_DOC);
         conf.define(CAMEL_SINK_SOLR_ENDPOINT_SO_TIMEOUT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_SO_TIMEOUT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_SO_TIMEOUT_DOC);
         conf.define(CAMEL_SINK_SOLR_ENDPOINT_STREAMING_QUEUE_SIZE_CONF, 
ConfigDef.Type.INT, CAMEL_SINK_SOLR_ENDPOINT_STREAMING_QUEUE_SIZE_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_STREAMING_QUEUE_SIZE_DOC);
         conf.define(CAMEL_SINK_SOLR_ENDPOINT_STREAMING_THREAD_COUNT_CONF, 
ConfigDef.Type.INT, CAMEL_SINK_SOLR_ENDPOINT_STREAMING_THREAD_COUNT_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLR_ENDPOINT_STREAMING_THREAD_COUNT_DOC);
-        conf.define(CAMEL_SINK_SOLR_ENDPOINT_PASSWORD_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLR_ENDPOINT_PASSWORD_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_PASSWORD_DOC);
-        conf.define(CAMEL_SINK_SOLR_ENDPOINT_USERNAME_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLR_ENDPOINT_USERNAME_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_USERNAME_DOC);
         conf.define(CAMEL_SINK_SOLR_ENDPOINT_COLLECTION_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_COLLECTION_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_COLLECTION_DOC);
+        conf.define(CAMEL_SINK_SOLR_ENDPOINT_ZK_CHROOT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_ZK_CHROOT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_ZK_CHROOT_DOC);
         conf.define(CAMEL_SINK_SOLR_ENDPOINT_ZK_HOST_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_ZK_HOST_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_ZK_HOST_DOC);
+        conf.define(CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_ALLOW_COMPRESSION_DOC);
+        conf.define(CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_FOLLOW_REDIRECTS_DOC);
+        conf.define(CAMEL_SINK_SOLR_ENDPOINT_PASSWORD_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLR_ENDPOINT_PASSWORD_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_PASSWORD_DOC);
+        conf.define(CAMEL_SINK_SOLR_ENDPOINT_USERNAME_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLR_ENDPOINT_USERNAME_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_ENDPOINT_USERNAME_DOC);
         conf.define(CAMEL_SINK_SOLR_COMPONENT_LAZY_START_PRODUCER_CONF, 
ConfigDef.Type.BOOLEAN, CAMEL_SINK_SOLR_COMPONENT_LAZY_START_PRODUCER_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_SOLR_COMPONENT_AUTOWIRED_ENABLED_CONF, 
ConfigDef.Type.BOOLEAN, CAMEL_SINK_SOLR_COMPONENT_AUTOWIRED_ENABLED_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLR_COMPONENT_AUTOWIRED_ENABLED_DOC);
         return conf;
diff --git 
a/connectors/camel-solrcloud-kafka-connector/src/generated/resources/camel-solrCloud-sink.json
 
b/connectors/camel-solrcloud-kafka-connector/src/generated/resources/camel-solrCloud-sink.json
index 5ff48a1..9760bcf 100644
--- 
a/connectors/camel-solrcloud-kafka-connector/src/generated/resources/camel-solrCloud-sink.json
+++ 
b/connectors/camel-solrcloud-kafka-connector/src/generated/resources/camel-solrCloud-sink.json
@@ -11,38 +11,32 @@
        "properties": {
                "camel.sink.path.url": {
                        "name": "camel.sink.path.url",
-                       "description": "Hostname and port for the solr server",
+                       "description": "Hostname and port for the Solr 
server(s). Multiple hosts can be specified, separated with a comma. See the 
solrClient parameter for more information on the SolrClient used to connect to 
Solr.",
                        "priority": "HIGH",
                        "required": "true"
                },
-               "camel.sink.endpoint.allowCompression": {
-                       "name": "camel.sink.endpoint.allowCompression",
-                       "description": "Server side must support gzip or 
deflate for this to have any effect",
-                       "priority": "MEDIUM",
-                       "required": "false"
-               },
                "camel.sink.endpoint.autoCommit": {
                        "name": "camel.sink.endpoint.autoCommit",
-                       "description": "If true, each producer operation will 
be committed automatically",
+                       "description": "If true, each producer operation will 
be automatically followed by a commit",
                        "defaultValue": "false",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.connectionTimeout": {
                        "name": "camel.sink.endpoint.connectionTimeout",
-                       "description": "connectionTimeout on the underlying 
HttpConnectionManager",
+                       "description": "Sets the connection timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.defaultMaxConnectionsPerHost": {
                        "name": 
"camel.sink.endpoint.defaultMaxConnectionsPerHost",
                        "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
-               "camel.sink.endpoint.followRedirects": {
-                       "name": "camel.sink.endpoint.followRedirects",
-                       "description": "indicates whether redirects are used to 
get to the Solr server",
+               "camel.sink.endpoint.httpClient": {
+                       "name": "camel.sink.endpoint.httpClient",
+                       "description": "Sets the http client to be used by the 
solrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
@@ -56,13 +50,13 @@
                "camel.sink.endpoint.maxRetries": {
                        "name": "camel.sink.endpoint.maxRetries",
                        "description": "Maximum number of retries to attempt in 
the event of transient errors",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.maxTotalConnections": {
                        "name": "camel.sink.endpoint.maxTotalConnections",
                        "description": "maxTotalConnection on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.requestHandler": {
@@ -71,47 +65,71 @@
                        "priority": "MEDIUM",
                        "required": "false"
                },
+               "camel.sink.endpoint.solrClient": {
+                       "name": "camel.sink.endpoint.solrClient",
+                       "description": "Uses the provided solr client to 
connect to solr. When this parameter is not specified, camel applies the 
following rules to determine the SolrClient. A CloudSolrClient should point to 
a zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme is 'solrCloud') or [...]
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
                "camel.sink.endpoint.soTimeout": {
                        "name": "camel.sink.endpoint.soTimeout",
-                       "description": "Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing",
+                       "description": "Sets the socket timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingQueueSize": {
                        "name": "camel.sink.endpoint.streamingQueueSize",
-                       "description": "Set the queue size for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "10",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingThreadCount": {
                        "name": "camel.sink.endpoint.streamingThreadCount",
-                       "description": "Set the number of threads for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "2",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.password": {
-                       "name": "camel.sink.endpoint.password",
-                       "description": "Sets password for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.collection": {
+                       "name": "camel.sink.endpoint.collection",
+                       "description": "Set the default collection for 
SolrCloud",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.username": {
-                       "name": "camel.sink.endpoint.username",
-                       "description": "Sets username for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.zkChroot": {
+                       "name": "camel.sink.endpoint.zkChroot",
+                       "description": "Set the chroot of the zookeeper 
connection (include the leading slash; e.g. '\/mychroot')",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.collection": {
-                       "name": "camel.sink.endpoint.collection",
-                       "description": "Set the collection name which the 
solrCloud server could use",
+               "camel.sink.endpoint.zkHost": {
+                       "name": "camel.sink.endpoint.zkHost",
+                       "description": "Set the ZooKeeper host(s) urls which 
the CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally 
add the chroot, e.g. zkHost=localhost:8123,localhost:8124\/rootformysolr. In 
case the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123\/solr' or 'localhost:8123\/solr\/..'), then that path is 
not considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zkChroot par [...]
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.zkHost": {
-                       "name": "camel.sink.endpoint.zkHost",
-                       "description": "Set the ZooKeeper host information 
which the solrCloud could use, such as zkhost=localhost:8123.",
+               "camel.sink.endpoint.allowCompression": {
+                       "name": "camel.sink.endpoint.allowCompression",
+                       "description": "Server side must support gzip or 
deflate for this to have any effect",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.followRedirects": {
+                       "name": "camel.sink.endpoint.followRedirects",
+                       "description": "Indicates whether redirects are used to 
get to the Solr server",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.password": {
+                       "name": "camel.sink.endpoint.password",
+                       "description": "Sets password for basic auth plugin 
enabled servers",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.username": {
+                       "name": "camel.sink.endpoint.username",
+                       "description": "Sets username for basic auth plugin 
enabled servers",
                        "priority": "MEDIUM",
                        "required": "false"
                },
diff --git 
a/connectors/camel-solrcloud-kafka-connector/src/main/docs/camel-solrCloud-kafka-sink-connector.adoc
 
b/connectors/camel-solrcloud-kafka-connector/src/main/docs/camel-solrCloud-kafka-sink-connector.adoc
index 9a3849b..d28b7a6 100644
--- 
a/connectors/camel-solrcloud-kafka-connector/src/main/docs/camel-solrCloud-kafka-sink-connector.adoc
+++ 
b/connectors/camel-solrcloud-kafka-connector/src/main/docs/camel-solrCloud-kafka-sink-connector.adoc
@@ -24,30 +24,33 @@ 
connector.class=org.apache.camel.kafkaconnector.solrcloud.CamelSolrcloudSinkConn
 ----
 
 
-The camel-solrCloud sink connector supports 19 options, which are listed below.
+The camel-solrCloud sink connector supports 22 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,1,1",options="header"]
 |===
 | Name | Description | Default | Required | Priority
-| *camel.sink.path.url* | Hostname and port for the solr server | null | true 
| HIGH
-| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
-| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
committed automatically | false | false | MEDIUM
-| *camel.sink.endpoint.connectionTimeout* | connectionTimeout on the 
underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.followRedirects* | indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
+| *camel.sink.path.url* | Hostname and port for the Solr server(s). Multiple 
hosts can be specified, separated with a comma. See the solrClient parameter 
for more information on the SolrClient used to connect to Solr. | null | true | 
HIGH
+| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
automatically followed by a commit | false | false | MEDIUM
+| *camel.sink.endpoint.connectionTimeout* | Sets the connection timeout on the 
SolrClient | null | false | MEDIUM
+| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | LOW
+| *camel.sink.endpoint.httpClient* | Sets the http client to be used by the 
solrClient | null | 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.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | MEDIUM
-| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | MEDIUM
+| *camel.sink.endpoint.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | LOW
+| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | LOW
 | *camel.sink.endpoint.requestHandler* | Set the request handler to be used | 
null | false | MEDIUM
-| *camel.sink.endpoint.soTimeout* | Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing | null | false | MEDIUM
-| *camel.sink.endpoint.streamingQueueSize* | Set the queue size for the 
StreamingUpdateSolrServer | 10 | false | MEDIUM
-| *camel.sink.endpoint.streamingThreadCount* | Set the number of threads for 
the StreamingUpdateSolrServer | 2 | false | MEDIUM
+| *camel.sink.endpoint.solrClient* | Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies the following 
rules to determine the SolrClient. A CloudSolrClient should point to a 
zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme  [...]
+| *camel.sink.endpoint.soTimeout* | Sets the socket timeout on the SolrClient 
| null | false | MEDIUM
+| *camel.sink.endpoint.streamingQueueSize* | Sets the queue size for the 
ConcurrentUpdateSolrClient | 10 | false | MEDIUM
+| *camel.sink.endpoint.streamingThreadCount* | Sets the number of threads for 
the ConcurrentUpdateSolrClient | 2 | false | MEDIUM
+| *camel.sink.endpoint.collection* | Set the default collection for SolrCloud 
| null | false | MEDIUM
+| *camel.sink.endpoint.zkChroot* | Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '/mychroot') | null | false | MEDIUM
+| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally add 
the chroot, e.g. zkHost=localhost:8123,localhost:8124/rootformysolr. In case 
the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123/solr' or 'localhost:8123/solr/..'), then that path is not 
considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zk [...]
+| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
+| *camel.sink.endpoint.followRedirects* | Indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
 | *camel.sink.endpoint.password* | Sets password for basic auth plugin enabled 
servers | null | false | MEDIUM
 | *camel.sink.endpoint.username* | Sets username for basic auth plugin enabled 
servers | null | false | MEDIUM
-| *camel.sink.endpoint.collection* | Set the collection name which the 
solrCloud server could use | null | false | MEDIUM
-| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123. | null | false | MEDIUM
 | *camel.component.solrcloud.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 th [...]
 | *camel.component.solrcloud.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
 |===
diff --git 
a/connectors/camel-solrcloud-kafka-connector/src/main/docs/examples/CamelSolrcloudSinkConnector.properties
 
b/connectors/camel-solrcloud-kafka-connector/src/main/docs/examples/CamelSolrcloudSinkConnector.properties
index 52758d5..e81c474 100644
--- 
a/connectors/camel-solrcloud-kafka-connector/src/main/docs/examples/CamelSolrcloudSinkConnector.properties
+++ 
b/connectors/camel-solrcloud-kafka-connector/src/main/docs/examples/CamelSolrcloudSinkConnector.properties
@@ -28,6 +28,6 @@ topics=
 
 # mandatory properties (for a complete properties list see the connector 
documentation):
 
-# Hostname and port for the solr server
+# Hostname and port for the Solr server(s). Multiple hosts can be specified, 
separated with a comma. See the solrClient parameter for more information on 
the SolrClient used to connect to Solr.
 camel.sink.path.url=
 
diff --git 
a/connectors/camel-solrcloud-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solrcloud/CamelSolrcloudSinkConnectorConfig.java
 
b/connectors/camel-solrcloud-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solrcloud/CamelSolrcloudSinkConnectorConfig.java
index c76b8be..962fb40 100644
--- 
a/connectors/camel-solrcloud-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solrcloud/CamelSolrcloudSinkConnectorConfig.java
+++ 
b/connectors/camel-solrcloud-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solrcloud/CamelSolrcloudSinkConnectorConfig.java
@@ -27,23 +27,20 @@ public class CamelSolrcloudSinkConnectorConfig
             CamelSinkConnectorConfig {
 
     public static final String CAMEL_SINK_SOLRCLOUD_PATH_URL_CONF = 
"camel.sink.path.url";
-    public static final String CAMEL_SINK_SOLRCLOUD_PATH_URL_DOC = "Hostname 
and port for the solr server";
+    public static final String CAMEL_SINK_SOLRCLOUD_PATH_URL_DOC = "Hostname 
and port for the Solr server(s). Multiple hosts can be specified, separated 
with a comma. See the solrClient parameter for more information on the 
SolrClient used to connect to Solr.";
     public static final String CAMEL_SINK_SOLRCLOUD_PATH_URL_DEFAULT = null;
-    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_CONF = 
"camel.sink.endpoint.allowCompression";
-    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_DOC = "Server side must support 
gzip or deflate for this to have any effect";
-    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_DEFAULT = null;
     public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_AUTO_COMMIT_CONF 
= "camel.sink.endpoint.autoCommit";
-    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_AUTO_COMMIT_DOC = 
"If true, each producer operation will be committed automatically";
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_AUTO_COMMIT_DOC = 
"If true, each producer operation will be automatically followed by a commit";
     public static final Boolean 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_AUTO_COMMIT_DEFAULT = false;
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_CONNECTION_TIMEOUT_CONF = 
"camel.sink.endpoint.connectionTimeout";
-    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_CONNECTION_TIMEOUT_DOC = "connectionTimeout on 
the underlying HttpConnectionManager";
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_CONNECTION_TIMEOUT_DOC = "Sets the connection 
timeout on the SolrClient";
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_CONNECTION_TIMEOUT_DEFAULT = null;
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_CONF = 
"camel.sink.endpoint.defaultMaxConnectionsPerHost";
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DOC = 
"maxConnectionsPerHost on the underlying HttpConnectionManager";
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DEFAULT = null;
-    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_CONF = 
"camel.sink.endpoint.followRedirects";
-    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_DOC = "indicates whether 
redirects are used to get to the Solr server";
-    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT = null;
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_HTTP_CLIENT_CONF 
= "camel.sink.endpoint.httpClient";
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_HTTP_CLIENT_DOC = 
"Sets the http client to be used by the solrClient";
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_HTTP_CLIENT_DEFAULT = null;
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_LAZY_START_PRODUCER_CONF = 
"camel.sink.endpoint.lazyStartProducer";
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_LAZY_START_PRODUCER_DOC = "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during starting and cause the route to fail being started. 
By deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that  [...]
     public static final Boolean 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -56,27 +53,39 @@ public class CamelSolrcloudSinkConnectorConfig
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_REQUEST_HANDLER_CONF = 
"camel.sink.endpoint.requestHandler";
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_REQUEST_HANDLER_DOC = "Set the request handler to 
be used";
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_REQUEST_HANDLER_DEFAULT = null;
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_SOLR_CLIENT_CONF 
= "camel.sink.endpoint.solrClient";
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_SOLR_CLIENT_DOC = 
"Uses the provided solr client to connect to solr. When this parameter is not 
specified, camel applies the following rules to determine the SolrClient. A 
CloudSolrClient should point to a zookeeper endpoint. Other clients point to a 
Solr endpoint. 1) when zkHost or zkChroot (=zookeeper root) parameter is set, 
then the CloudSolrClient is used. 2) when multiple hosts are specified in the 
uri (separated with a co [...]
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_SOLR_CLIENT_DEFAULT = null;
     public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_SO_TIMEOUT_CONF = 
"camel.sink.endpoint.soTimeout";
-    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_SO_TIMEOUT_DOC = 
"Read timeout on the underlying HttpConnectionManager. This is desirable for 
queries, but probably not for indexing";
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_SO_TIMEOUT_DOC = 
"Sets the socket timeout on the SolrClient";
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_SO_TIMEOUT_DEFAULT = null;
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_QUEUE_SIZE_CONF = 
"camel.sink.endpoint.streamingQueueSize";
-    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_QUEUE_SIZE_DOC = "Set the queue size 
for the StreamingUpdateSolrServer";
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_QUEUE_SIZE_DOC = "Sets the queue size 
for the ConcurrentUpdateSolrClient";
     public static final Integer 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_QUEUE_SIZE_DEFAULT = 10;
     public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_THREAD_COUNT_CONF = 
"camel.sink.endpoint.streamingThreadCount";
-    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_THREAD_COUNT_DOC = "Set the number of 
threads for the StreamingUpdateSolrServer";
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_THREAD_COUNT_DOC = "Sets the number of 
threads for the ConcurrentUpdateSolrClient";
     public static final Integer 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_THREAD_COUNT_DEFAULT = 2;
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_COLLECTION_CONF = 
"camel.sink.endpoint.collection";
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_COLLECTION_DOC = 
"Set the default collection for SolrCloud";
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_COLLECTION_DEFAULT = null;
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_CHROOT_CONF = 
"camel.sink.endpoint.zkChroot";
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_CHROOT_DOC = 
"Set the chroot of the zookeeper connection (include the leading slash; e.g. 
'/mychroot')";
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_CHROOT_DEFAULT 
= null;
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_HOST_CONF = 
"camel.sink.endpoint.zkHost";
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_HOST_DOC = 
"Set the ZooKeeper host(s) urls which the CloudSolrClient uses, e.g. 
zkHost=localhost:8123,localhost:8124. Optionally add the chroot, e.g. 
zkHost=localhost:8123,localhost:8124/rootformysolr. In case the first part of 
the chroot path in the zkHost parameter is set to 'solr' (e.g. 
'localhost:8123/solr' or 'localhost:8123/solr/..'), then that path is not 
considered as zookeeper chroot for backward compatibility reaso [...]
+    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_HOST_DEFAULT = 
null;
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_CONF = 
"camel.sink.endpoint.allowCompression";
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_DOC = "Server side must support 
gzip or deflate for this to have any effect";
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_DEFAULT = null;
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_CONF = 
"camel.sink.endpoint.followRedirects";
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_DOC = "Indicates whether 
redirects are used to get to the Solr server";
+    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT = null;
     public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_PASSWORD_CONF = 
"camel.sink.endpoint.password";
     public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_PASSWORD_DOC = 
"Sets password for basic auth plugin enabled servers";
     public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_PASSWORD_DEFAULT 
= null;
     public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_USERNAME_CONF = 
"camel.sink.endpoint.username";
     public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_USERNAME_DOC = 
"Sets username for basic auth plugin enabled servers";
     public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_USERNAME_DEFAULT 
= null;
-    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_COLLECTION_CONF = 
"camel.sink.endpoint.collection";
-    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_COLLECTION_DOC = 
"Set the collection name which the solrCloud server could use";
-    public static final String 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_COLLECTION_DEFAULT = null;
-    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_HOST_CONF = 
"camel.sink.endpoint.zkHost";
-    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_HOST_DOC = 
"Set the ZooKeeper host information which the solrCloud could use, such as 
zkhost=localhost:8123.";
-    public static final String CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_HOST_DEFAULT = 
null;
     public static final String 
CAMEL_SINK_SOLRCLOUD_COMPONENT_LAZY_START_PRODUCER_CONF = 
"camel.component.solrcloud.lazyStartProducer";
     public static final String 
CAMEL_SINK_SOLRCLOUD_COMPONENT_LAZY_START_PRODUCER_DOC = "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during starting and cause the route to fail being started. 
By deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that [...]
     public static final Boolean 
CAMEL_SINK_SOLRCLOUD_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -97,22 +106,25 @@ public class CamelSolrcloudSinkConnectorConfig
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_SOLRCLOUD_PATH_URL_CONF, ConfigDef.Type.STRING, 
CAMEL_SINK_SOLRCLOUD_PATH_URL_DEFAULT, ConfigDef.Importance.HIGH, 
CAMEL_SINK_SOLRCLOUD_PATH_URL_DOC);
-        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_AUTO_COMMIT_CONF, 
ConfigDef.Type.BOOLEAN, CAMEL_SINK_SOLRCLOUD_ENDPOINT_AUTO_COMMIT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_AUTO_COMMIT_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_CONNECTION_TIMEOUT_CONF, 
ConfigDef.Type.STRING, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_CONNECTION_TIMEOUT_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_CONNECTION_TIMEOUT_DOC);
-        
conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_CONF,
 ConfigDef.Type.STRING, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DOC);
-        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_DOC);
+        
conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_CONF,
 ConfigDef.Type.STRING, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DEFAULT, 
ConfigDef.Importance.LOW, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DOC);
+        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_HTTP_CLIENT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_HTTP_CLIENT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_HTTP_CLIENT_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_LAZY_START_PRODUCER_CONF, 
ConfigDef.Type.BOOLEAN, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_LAZY_START_PRODUCER_DOC);
-        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_RETRIES_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_RETRIES_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_RETRIES_DOC);
-        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_TOTAL_CONNECTIONS_CONF, 
ConfigDef.Type.STRING, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_TOTAL_CONNECTIONS_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_TOTAL_CONNECTIONS_DOC);
+        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_RETRIES_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_RETRIES_DEFAULT, 
ConfigDef.Importance.LOW, CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_RETRIES_DOC);
+        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_TOTAL_CONNECTIONS_CONF, 
ConfigDef.Type.STRING, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_TOTAL_CONNECTIONS_DEFAULT, 
ConfigDef.Importance.LOW, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_MAX_TOTAL_CONNECTIONS_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_REQUEST_HANDLER_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_REQUEST_HANDLER_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_REQUEST_HANDLER_DOC);
+        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_SOLR_CLIENT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_SOLR_CLIENT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_SOLR_CLIENT_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_SO_TIMEOUT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_SO_TIMEOUT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_SO_TIMEOUT_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_QUEUE_SIZE_CONF, 
ConfigDef.Type.INT, CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_QUEUE_SIZE_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_QUEUE_SIZE_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_THREAD_COUNT_CONF, 
ConfigDef.Type.INT, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_THREAD_COUNT_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_STREAMING_THREAD_COUNT_DOC);
-        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_PASSWORD_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLRCLOUD_ENDPOINT_PASSWORD_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_PASSWORD_DOC);
-        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_USERNAME_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLRCLOUD_ENDPOINT_USERNAME_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_USERNAME_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_COLLECTION_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_COLLECTION_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_COLLECTION_DOC);
+        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_CHROOT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_CHROOT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_CHROOT_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_HOST_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_HOST_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_ZK_HOST_DOC);
+        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_ALLOW_COMPRESSION_DOC);
+        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_ENDPOINT_FOLLOW_REDIRECTS_DOC);
+        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_PASSWORD_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLRCLOUD_ENDPOINT_PASSWORD_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_PASSWORD_DOC);
+        conf.define(CAMEL_SINK_SOLRCLOUD_ENDPOINT_USERNAME_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLRCLOUD_ENDPOINT_USERNAME_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRCLOUD_ENDPOINT_USERNAME_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_COMPONENT_LAZY_START_PRODUCER_CONF, 
ConfigDef.Type.BOOLEAN, 
CAMEL_SINK_SOLRCLOUD_COMPONENT_LAZY_START_PRODUCER_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_SOLRCLOUD_COMPONENT_AUTOWIRED_ENABLED_CONF, 
ConfigDef.Type.BOOLEAN, 
CAMEL_SINK_SOLRCLOUD_COMPONENT_AUTOWIRED_ENABLED_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRCLOUD_COMPONENT_AUTOWIRED_ENABLED_DOC);
         return conf;
diff --git 
a/connectors/camel-solrs-kafka-connector/src/generated/resources/camel-solrs-sink.json
 
b/connectors/camel-solrs-kafka-connector/src/generated/resources/camel-solrs-sink.json
index 135fbad..73d6d79 100644
--- 
a/connectors/camel-solrs-kafka-connector/src/generated/resources/camel-solrs-sink.json
+++ 
b/connectors/camel-solrs-kafka-connector/src/generated/resources/camel-solrs-sink.json
@@ -11,38 +11,32 @@
        "properties": {
                "camel.sink.path.url": {
                        "name": "camel.sink.path.url",
-                       "description": "Hostname and port for the solr server",
+                       "description": "Hostname and port for the Solr 
server(s). Multiple hosts can be specified, separated with a comma. See the 
solrClient parameter for more information on the SolrClient used to connect to 
Solr.",
                        "priority": "HIGH",
                        "required": "true"
                },
-               "camel.sink.endpoint.allowCompression": {
-                       "name": "camel.sink.endpoint.allowCompression",
-                       "description": "Server side must support gzip or 
deflate for this to have any effect",
-                       "priority": "MEDIUM",
-                       "required": "false"
-               },
                "camel.sink.endpoint.autoCommit": {
                        "name": "camel.sink.endpoint.autoCommit",
-                       "description": "If true, each producer operation will 
be committed automatically",
+                       "description": "If true, each producer operation will 
be automatically followed by a commit",
                        "defaultValue": "false",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.connectionTimeout": {
                        "name": "camel.sink.endpoint.connectionTimeout",
-                       "description": "connectionTimeout on the underlying 
HttpConnectionManager",
+                       "description": "Sets the connection timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.defaultMaxConnectionsPerHost": {
                        "name": 
"camel.sink.endpoint.defaultMaxConnectionsPerHost",
                        "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
-               "camel.sink.endpoint.followRedirects": {
-                       "name": "camel.sink.endpoint.followRedirects",
-                       "description": "indicates whether redirects are used to 
get to the Solr server",
+               "camel.sink.endpoint.httpClient": {
+                       "name": "camel.sink.endpoint.httpClient",
+                       "description": "Sets the http client to be used by the 
solrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
@@ -56,13 +50,13 @@
                "camel.sink.endpoint.maxRetries": {
                        "name": "camel.sink.endpoint.maxRetries",
                        "description": "Maximum number of retries to attempt in 
the event of transient errors",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.maxTotalConnections": {
                        "name": "camel.sink.endpoint.maxTotalConnections",
                        "description": "maxTotalConnection on the underlying 
HttpConnectionManager",
-                       "priority": "MEDIUM",
+                       "priority": "LOW",
                        "required": "false"
                },
                "camel.sink.endpoint.requestHandler": {
@@ -71,47 +65,71 @@
                        "priority": "MEDIUM",
                        "required": "false"
                },
+               "camel.sink.endpoint.solrClient": {
+                       "name": "camel.sink.endpoint.solrClient",
+                       "description": "Uses the provided solr client to 
connect to solr. When this parameter is not specified, camel applies the 
following rules to determine the SolrClient. A CloudSolrClient should point to 
a zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme is 'solrCloud') or [...]
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
                "camel.sink.endpoint.soTimeout": {
                        "name": "camel.sink.endpoint.soTimeout",
-                       "description": "Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing",
+                       "description": "Sets the socket timeout on the 
SolrClient",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingQueueSize": {
                        "name": "camel.sink.endpoint.streamingQueueSize",
-                       "description": "Set the queue size for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "10",
                        "priority": "MEDIUM",
                        "required": "false"
                },
                "camel.sink.endpoint.streamingThreadCount": {
                        "name": "camel.sink.endpoint.streamingThreadCount",
-                       "description": "Set the number of threads for the 
StreamingUpdateSolrServer",
+                       "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient",
                        "defaultValue": "2",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.password": {
-                       "name": "camel.sink.endpoint.password",
-                       "description": "Sets password for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.collection": {
+                       "name": "camel.sink.endpoint.collection",
+                       "description": "Set the default collection for 
SolrCloud",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.username": {
-                       "name": "camel.sink.endpoint.username",
-                       "description": "Sets username for basic auth plugin 
enabled servers",
+               "camel.sink.endpoint.zkChroot": {
+                       "name": "camel.sink.endpoint.zkChroot",
+                       "description": "Set the chroot of the zookeeper 
connection (include the leading slash; e.g. '\/mychroot')",
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.collection": {
-                       "name": "camel.sink.endpoint.collection",
-                       "description": "Set the collection name which the 
solrCloud server could use",
+               "camel.sink.endpoint.zkHost": {
+                       "name": "camel.sink.endpoint.zkHost",
+                       "description": "Set the ZooKeeper host(s) urls which 
the CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally 
add the chroot, e.g. zkHost=localhost:8123,localhost:8124\/rootformysolr. In 
case the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123\/solr' or 'localhost:8123\/solr\/..'), then that path is 
not considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zkChroot par [...]
                        "priority": "MEDIUM",
                        "required": "false"
                },
-               "camel.sink.endpoint.zkHost": {
-                       "name": "camel.sink.endpoint.zkHost",
-                       "description": "Set the ZooKeeper host information 
which the solrCloud could use, such as zkhost=localhost:8123.",
+               "camel.sink.endpoint.allowCompression": {
+                       "name": "camel.sink.endpoint.allowCompression",
+                       "description": "Server side must support gzip or 
deflate for this to have any effect",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.followRedirects": {
+                       "name": "camel.sink.endpoint.followRedirects",
+                       "description": "Indicates whether redirects are used to 
get to the Solr server",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.password": {
+                       "name": "camel.sink.endpoint.password",
+                       "description": "Sets password for basic auth plugin 
enabled servers",
+                       "priority": "MEDIUM",
+                       "required": "false"
+               },
+               "camel.sink.endpoint.username": {
+                       "name": "camel.sink.endpoint.username",
+                       "description": "Sets username for basic auth plugin 
enabled servers",
                        "priority": "MEDIUM",
                        "required": "false"
                },
diff --git 
a/connectors/camel-solrs-kafka-connector/src/main/docs/camel-solrs-kafka-sink-connector.adoc
 
b/connectors/camel-solrs-kafka-connector/src/main/docs/camel-solrs-kafka-sink-connector.adoc
index 659a831..41ce9a4 100644
--- 
a/connectors/camel-solrs-kafka-connector/src/main/docs/camel-solrs-kafka-sink-connector.adoc
+++ 
b/connectors/camel-solrs-kafka-connector/src/main/docs/camel-solrs-kafka-sink-connector.adoc
@@ -24,30 +24,33 @@ 
connector.class=org.apache.camel.kafkaconnector.solrs.CamelSolrsSinkConnector
 ----
 
 
-The camel-solrs sink connector supports 19 options, which are listed below.
+The camel-solrs sink connector supports 22 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,1,1",options="header"]
 |===
 | Name | Description | Default | Required | Priority
-| *camel.sink.path.url* | Hostname and port for the solr server | null | true 
| HIGH
-| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
-| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
committed automatically | false | false | MEDIUM
-| *camel.sink.endpoint.connectionTimeout* | connectionTimeout on the 
underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.followRedirects* | indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
+| *camel.sink.path.url* | Hostname and port for the Solr server(s). Multiple 
hosts can be specified, separated with a comma. See the solrClient parameter 
for more information on the SolrClient used to connect to Solr. | null | true | 
HIGH
+| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
automatically followed by a commit | false | false | MEDIUM
+| *camel.sink.endpoint.connectionTimeout* | Sets the connection timeout on the 
SolrClient | null | false | MEDIUM
+| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | LOW
+| *camel.sink.endpoint.httpClient* | Sets the http client to be used by the 
solrClient | null | 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.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | MEDIUM
-| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | MEDIUM
+| *camel.sink.endpoint.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | LOW
+| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | LOW
 | *camel.sink.endpoint.requestHandler* | Set the request handler to be used | 
null | false | MEDIUM
-| *camel.sink.endpoint.soTimeout* | Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing | null | false | MEDIUM
-| *camel.sink.endpoint.streamingQueueSize* | Set the queue size for the 
StreamingUpdateSolrServer | 10 | false | MEDIUM
-| *camel.sink.endpoint.streamingThreadCount* | Set the number of threads for 
the StreamingUpdateSolrServer | 2 | false | MEDIUM
+| *camel.sink.endpoint.solrClient* | Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies the following 
rules to determine the SolrClient. A CloudSolrClient should point to a 
zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme  [...]
+| *camel.sink.endpoint.soTimeout* | Sets the socket timeout on the SolrClient 
| null | false | MEDIUM
+| *camel.sink.endpoint.streamingQueueSize* | Sets the queue size for the 
ConcurrentUpdateSolrClient | 10 | false | MEDIUM
+| *camel.sink.endpoint.streamingThreadCount* | Sets the number of threads for 
the ConcurrentUpdateSolrClient | 2 | false | MEDIUM
+| *camel.sink.endpoint.collection* | Set the default collection for SolrCloud 
| null | false | MEDIUM
+| *camel.sink.endpoint.zkChroot* | Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '/mychroot') | null | false | MEDIUM
+| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally add 
the chroot, e.g. zkHost=localhost:8123,localhost:8124/rootformysolr. In case 
the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123/solr' or 'localhost:8123/solr/..'), then that path is not 
considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zk [...]
+| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
+| *camel.sink.endpoint.followRedirects* | Indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
 | *camel.sink.endpoint.password* | Sets password for basic auth plugin enabled 
servers | null | false | MEDIUM
 | *camel.sink.endpoint.username* | Sets username for basic auth plugin enabled 
servers | null | false | MEDIUM
-| *camel.sink.endpoint.collection* | Set the collection name which the 
solrCloud server could use | null | false | MEDIUM
-| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123. | null | false | MEDIUM
 | *camel.component.solrs.lazyStartProducer* | Whether the producer should be 
started lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a producer may otherwise 
fail during starting and cause the route to fail being started. By deferring 
this startup to be lazy then the startup failure can be handled during routing 
messages via Camel's routing error handlers. Beware that when the first message 
is processed then c [...]
 | *camel.component.solrs.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
 |===
diff --git 
a/connectors/camel-solrs-kafka-connector/src/main/docs/examples/CamelSolrsSinkConnector.properties
 
b/connectors/camel-solrs-kafka-connector/src/main/docs/examples/CamelSolrsSinkConnector.properties
index 0d5e3e8..be2d0fb 100644
--- 
a/connectors/camel-solrs-kafka-connector/src/main/docs/examples/CamelSolrsSinkConnector.properties
+++ 
b/connectors/camel-solrs-kafka-connector/src/main/docs/examples/CamelSolrsSinkConnector.properties
@@ -28,6 +28,6 @@ topics=
 
 # mandatory properties (for a complete properties list see the connector 
documentation):
 
-# Hostname and port for the solr server
+# Hostname and port for the Solr server(s). Multiple hosts can be specified, 
separated with a comma. See the solrClient parameter for more information on 
the SolrClient used to connect to Solr.
 camel.sink.path.url=
 
diff --git 
a/connectors/camel-solrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solrs/CamelSolrsSinkConnectorConfig.java
 
b/connectors/camel-solrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solrs/CamelSolrsSinkConnectorConfig.java
index 0e82d27..8b2d757 100644
--- 
a/connectors/camel-solrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solrs/CamelSolrsSinkConnectorConfig.java
+++ 
b/connectors/camel-solrs-kafka-connector/src/main/java/org/apache/camel/kafkaconnector/solrs/CamelSolrsSinkConnectorConfig.java
@@ -25,23 +25,20 @@ import org.apache.kafka.common.config.ConfigDef;
 public class CamelSolrsSinkConnectorConfig extends CamelSinkConnectorConfig {
 
     public static final String CAMEL_SINK_SOLRS_PATH_URL_CONF = 
"camel.sink.path.url";
-    public static final String CAMEL_SINK_SOLRS_PATH_URL_DOC = "Hostname and 
port for the solr server";
+    public static final String CAMEL_SINK_SOLRS_PATH_URL_DOC = "Hostname and 
port for the Solr server(s). Multiple hosts can be specified, separated with a 
comma. See the solrClient parameter for more information on the SolrClient used 
to connect to Solr.";
     public static final String CAMEL_SINK_SOLRS_PATH_URL_DEFAULT = null;
-    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_CONF = 
"camel.sink.endpoint.allowCompression";
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_DOC 
= "Server side must support gzip or deflate for this to have any effect";
-    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_DEFAULT = null;
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_AUTO_COMMIT_CONF = 
"camel.sink.endpoint.autoCommit";
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_AUTO_COMMIT_DOC = "If 
true, each producer operation will be committed automatically";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_AUTO_COMMIT_DOC = "If 
true, each producer operation will be automatically followed by a commit";
     public static final Boolean CAMEL_SINK_SOLRS_ENDPOINT_AUTO_COMMIT_DEFAULT 
= false;
     public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_CONNECTION_TIMEOUT_CONF = 
"camel.sink.endpoint.connectionTimeout";
-    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_CONNECTION_TIMEOUT_DOC = "connectionTimeout on the 
underlying HttpConnectionManager";
+    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_CONNECTION_TIMEOUT_DOC = "Sets the connection timeout 
on the SolrClient";
     public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_CONNECTION_TIMEOUT_DEFAULT = null;
     public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_CONF = 
"camel.sink.endpoint.defaultMaxConnectionsPerHost";
     public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DOC = 
"maxConnectionsPerHost on the underlying HttpConnectionManager";
     public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DEFAULT = null;
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_CONF 
= "camel.sink.endpoint.followRedirects";
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_DOC 
= "indicates whether redirects are used to get to the Solr server";
-    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT = null;
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_HTTP_CLIENT_CONF = 
"camel.sink.endpoint.httpClient";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_HTTP_CLIENT_DOC = 
"Sets the http client to be used by the solrClient";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_HTTP_CLIENT_DEFAULT = 
null;
     public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_LAZY_START_PRODUCER_CONF = 
"camel.sink.endpoint.lazyStartProducer";
     public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_LAZY_START_PRODUCER_DOC = "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during starting and cause the route to fail being started. 
By deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that when 
[...]
     public static final Boolean 
CAMEL_SINK_SOLRS_ENDPOINT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -54,27 +51,39 @@ public class CamelSolrsSinkConnectorConfig extends 
CamelSinkConnectorConfig {
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_REQUEST_HANDLER_CONF 
= "camel.sink.endpoint.requestHandler";
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_REQUEST_HANDLER_DOC = 
"Set the request handler to be used";
     public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_REQUEST_HANDLER_DEFAULT = null;
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_SOLR_CLIENT_CONF = 
"camel.sink.endpoint.solrClient";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_SOLR_CLIENT_DOC = 
"Uses the provided solr client to connect to solr. When this parameter is not 
specified, camel applies the following rules to determine the SolrClient. A 
CloudSolrClient should point to a zookeeper endpoint. Other clients point to a 
Solr endpoint. 1) when zkHost or zkChroot (=zookeeper root) parameter is set, 
then the CloudSolrClient is used. 2) when multiple hosts are specified in the 
uri (separated with a comma) [...]
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_SOLR_CLIENT_DEFAULT = 
null;
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_SO_TIMEOUT_CONF = 
"camel.sink.endpoint.soTimeout";
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_SO_TIMEOUT_DOC = 
"Read timeout on the underlying HttpConnectionManager. This is desirable for 
queries, but probably not for indexing";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_SO_TIMEOUT_DOC = 
"Sets the socket timeout on the SolrClient";
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_SO_TIMEOUT_DEFAULT = 
null;
     public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_QUEUE_SIZE_CONF = 
"camel.sink.endpoint.streamingQueueSize";
-    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_QUEUE_SIZE_DOC = "Set the queue size for 
the StreamingUpdateSolrServer";
+    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_QUEUE_SIZE_DOC = "Sets the queue size for 
the ConcurrentUpdateSolrClient";
     public static final Integer 
CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_QUEUE_SIZE_DEFAULT = 10;
     public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_THREAD_COUNT_CONF = 
"camel.sink.endpoint.streamingThreadCount";
-    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_THREAD_COUNT_DOC = "Set the number of 
threads for the StreamingUpdateSolrServer";
+    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_THREAD_COUNT_DOC = "Sets the number of 
threads for the ConcurrentUpdateSolrClient";
     public static final Integer 
CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_THREAD_COUNT_DEFAULT = 2;
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_COLLECTION_CONF = 
"camel.sink.endpoint.collection";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_COLLECTION_DOC = "Set 
the default collection for SolrCloud";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_COLLECTION_DEFAULT = 
null;
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ZK_CHROOT_CONF = 
"camel.sink.endpoint.zkChroot";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ZK_CHROOT_DOC = "Set 
the chroot of the zookeeper connection (include the leading slash; e.g. 
'/mychroot')";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ZK_CHROOT_DEFAULT = 
null;
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ZK_HOST_CONF = 
"camel.sink.endpoint.zkHost";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ZK_HOST_DOC = "Set 
the ZooKeeper host(s) urls which the CloudSolrClient uses, e.g. 
zkHost=localhost:8123,localhost:8124. Optionally add the chroot, e.g. 
zkHost=localhost:8123,localhost:8124/rootformysolr. In case the first part of 
the chroot path in the zkHost parameter is set to 'solr' (e.g. 
'localhost:8123/solr' or 'localhost:8123/solr/..'), then that path is not 
considered as zookeeper chroot for backward compatibility reasons ( [...]
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ZK_HOST_DEFAULT = 
null;
+    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_CONF = 
"camel.sink.endpoint.allowCompression";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_DOC 
= "Server side must support gzip or deflate for this to have any effect";
+    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_DEFAULT = null;
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_CONF 
= "camel.sink.endpoint.followRedirects";
+    public static final String CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_DOC 
= "Indicates whether redirects are used to get to the Solr server";
+    public static final String 
CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT = null;
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_PASSWORD_CONF = 
"camel.sink.endpoint.password";
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_PASSWORD_DOC = "Sets 
password for basic auth plugin enabled servers";
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_PASSWORD_DEFAULT = 
null;
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_USERNAME_CONF = 
"camel.sink.endpoint.username";
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_USERNAME_DOC = "Sets 
username for basic auth plugin enabled servers";
     public static final String CAMEL_SINK_SOLRS_ENDPOINT_USERNAME_DEFAULT = 
null;
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_COLLECTION_CONF = 
"camel.sink.endpoint.collection";
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_COLLECTION_DOC = "Set 
the collection name which the solrCloud server could use";
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_COLLECTION_DEFAULT = 
null;
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ZK_HOST_CONF = 
"camel.sink.endpoint.zkHost";
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ZK_HOST_DOC = "Set 
the ZooKeeper host information which the solrCloud could use, such as 
zkhost=localhost:8123.";
-    public static final String CAMEL_SINK_SOLRS_ENDPOINT_ZK_HOST_DEFAULT = 
null;
     public static final String 
CAMEL_SINK_SOLRS_COMPONENT_LAZY_START_PRODUCER_CONF = 
"camel.component.solrs.lazyStartProducer";
     public static final String 
CAMEL_SINK_SOLRS_COMPONENT_LAZY_START_PRODUCER_DOC = "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during starting and cause the route to fail being started. 
By deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that whe 
[...]
     public static final Boolean 
CAMEL_SINK_SOLRS_COMPONENT_LAZY_START_PRODUCER_DEFAULT = false;
@@ -95,22 +104,25 @@ public class CamelSolrsSinkConnectorConfig extends 
CamelSinkConnectorConfig {
     public static ConfigDef conf() {
         ConfigDef conf = new ConfigDef(CamelSinkConnectorConfig.conf());
         conf.define(CAMEL_SINK_SOLRS_PATH_URL_CONF, ConfigDef.Type.STRING, 
CAMEL_SINK_SOLRS_PATH_URL_DEFAULT, ConfigDef.Importance.HIGH, 
CAMEL_SINK_SOLRS_PATH_URL_DOC);
-        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_DOC);
         conf.define(CAMEL_SINK_SOLRS_ENDPOINT_AUTO_COMMIT_CONF, 
ConfigDef.Type.BOOLEAN, CAMEL_SINK_SOLRS_ENDPOINT_AUTO_COMMIT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_AUTO_COMMIT_DOC);
         conf.define(CAMEL_SINK_SOLRS_ENDPOINT_CONNECTION_TIMEOUT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_CONNECTION_TIMEOUT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_CONNECTION_TIMEOUT_DOC);
-        
conf.define(CAMEL_SINK_SOLRS_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_CONF, 
ConfigDef.Type.STRING, 
CAMEL_SINK_SOLRS_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRS_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DOC);
-        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_DOC);
+        
conf.define(CAMEL_SINK_SOLRS_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_CONF, 
ConfigDef.Type.STRING, 
CAMEL_SINK_SOLRS_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DEFAULT, 
ConfigDef.Importance.LOW, 
CAMEL_SINK_SOLRS_ENDPOINT_DEFAULT_MAX_CONNECTIONS_PER_HOST_DOC);
+        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_HTTP_CLIENT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_HTTP_CLIENT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_HTTP_CLIENT_DOC);
         conf.define(CAMEL_SINK_SOLRS_ENDPOINT_LAZY_START_PRODUCER_CONF, 
ConfigDef.Type.BOOLEAN, CAMEL_SINK_SOLRS_ENDPOINT_LAZY_START_PRODUCER_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_LAZY_START_PRODUCER_DOC);
-        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_MAX_RETRIES_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_MAX_RETRIES_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_MAX_RETRIES_DOC);
-        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_MAX_TOTAL_CONNECTIONS_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_MAX_TOTAL_CONNECTIONS_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRS_ENDPOINT_MAX_TOTAL_CONNECTIONS_DOC);
+        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_MAX_RETRIES_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_MAX_RETRIES_DEFAULT, 
ConfigDef.Importance.LOW, CAMEL_SINK_SOLRS_ENDPOINT_MAX_RETRIES_DOC);
+        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_MAX_TOTAL_CONNECTIONS_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_MAX_TOTAL_CONNECTIONS_DEFAULT, 
ConfigDef.Importance.LOW, CAMEL_SINK_SOLRS_ENDPOINT_MAX_TOTAL_CONNECTIONS_DOC);
         conf.define(CAMEL_SINK_SOLRS_ENDPOINT_REQUEST_HANDLER_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_REQUEST_HANDLER_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_REQUEST_HANDLER_DOC);
+        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_SOLR_CLIENT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_SOLR_CLIENT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_SOLR_CLIENT_DOC);
         conf.define(CAMEL_SINK_SOLRS_ENDPOINT_SO_TIMEOUT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_SO_TIMEOUT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_SO_TIMEOUT_DOC);
         conf.define(CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_QUEUE_SIZE_CONF, 
ConfigDef.Type.INT, CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_QUEUE_SIZE_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_QUEUE_SIZE_DOC);
         conf.define(CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_THREAD_COUNT_CONF, 
ConfigDef.Type.INT, CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_THREAD_COUNT_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRS_ENDPOINT_STREAMING_THREAD_COUNT_DOC);
-        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_PASSWORD_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLRS_ENDPOINT_PASSWORD_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_PASSWORD_DOC);
-        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_USERNAME_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLRS_ENDPOINT_USERNAME_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_USERNAME_DOC);
         conf.define(CAMEL_SINK_SOLRS_ENDPOINT_COLLECTION_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_COLLECTION_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_COLLECTION_DOC);
+        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_ZK_CHROOT_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_ZK_CHROOT_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_ZK_CHROOT_DOC);
         conf.define(CAMEL_SINK_SOLRS_ENDPOINT_ZK_HOST_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_ZK_HOST_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_ZK_HOST_DOC);
+        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_ALLOW_COMPRESSION_DOC);
+        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_CONF, 
ConfigDef.Type.STRING, CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_FOLLOW_REDIRECTS_DOC);
+        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_PASSWORD_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLRS_ENDPOINT_PASSWORD_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_PASSWORD_DOC);
+        conf.define(CAMEL_SINK_SOLRS_ENDPOINT_USERNAME_CONF, 
ConfigDef.Type.PASSWORD, CAMEL_SINK_SOLRS_ENDPOINT_USERNAME_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_ENDPOINT_USERNAME_DOC);
         conf.define(CAMEL_SINK_SOLRS_COMPONENT_LAZY_START_PRODUCER_CONF, 
ConfigDef.Type.BOOLEAN, CAMEL_SINK_SOLRS_COMPONENT_LAZY_START_PRODUCER_DEFAULT, 
ConfigDef.Importance.MEDIUM, 
CAMEL_SINK_SOLRS_COMPONENT_LAZY_START_PRODUCER_DOC);
         conf.define(CAMEL_SINK_SOLRS_COMPONENT_AUTOWIRED_ENABLED_CONF, 
ConfigDef.Type.BOOLEAN, CAMEL_SINK_SOLRS_COMPONENT_AUTOWIRED_ENABLED_DEFAULT, 
ConfigDef.Importance.MEDIUM, CAMEL_SINK_SOLRS_COMPONENT_AUTOWIRED_ENABLED_DOC);
         return conf;
diff --git 
a/docs/modules/ROOT/pages/connectors/camel-solr-kafka-sink-connector.adoc 
b/docs/modules/ROOT/pages/connectors/camel-solr-kafka-sink-connector.adoc
index 616768e..b581946 100644
--- a/docs/modules/ROOT/pages/connectors/camel-solr-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-solr-kafka-sink-connector.adoc
@@ -24,30 +24,33 @@ 
connector.class=org.apache.camel.kafkaconnector.solr.CamelSolrSinkConnector
 ----
 
 
-The camel-solr sink connector supports 19 options, which are listed below.
+The camel-solr sink connector supports 22 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,1,1",options="header"]
 |===
 | Name | Description | Default | Required | Priority
-| *camel.sink.path.url* | Hostname and port for the solr server | null | true 
| HIGH
-| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
-| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
committed automatically | false | false | MEDIUM
-| *camel.sink.endpoint.connectionTimeout* | connectionTimeout on the 
underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.followRedirects* | indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
+| *camel.sink.path.url* | Hostname and port for the Solr server(s). Multiple 
hosts can be specified, separated with a comma. See the solrClient parameter 
for more information on the SolrClient used to connect to Solr. | null | true | 
HIGH
+| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
automatically followed by a commit | false | false | MEDIUM
+| *camel.sink.endpoint.connectionTimeout* | Sets the connection timeout on the 
SolrClient | null | false | MEDIUM
+| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | LOW
+| *camel.sink.endpoint.httpClient* | Sets the http client to be used by the 
solrClient | null | 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.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | MEDIUM
-| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | MEDIUM
+| *camel.sink.endpoint.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | LOW
+| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | LOW
 | *camel.sink.endpoint.requestHandler* | Set the request handler to be used | 
null | false | MEDIUM
-| *camel.sink.endpoint.soTimeout* | Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing | null | false | MEDIUM
-| *camel.sink.endpoint.streamingQueueSize* | Set the queue size for the 
StreamingUpdateSolrServer | 10 | false | MEDIUM
-| *camel.sink.endpoint.streamingThreadCount* | Set the number of threads for 
the StreamingUpdateSolrServer | 2 | false | MEDIUM
+| *camel.sink.endpoint.solrClient* | Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies the following 
rules to determine the SolrClient. A CloudSolrClient should point to a 
zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme  [...]
+| *camel.sink.endpoint.soTimeout* | Sets the socket timeout on the SolrClient 
| null | false | MEDIUM
+| *camel.sink.endpoint.streamingQueueSize* | Sets the queue size for the 
ConcurrentUpdateSolrClient | 10 | false | MEDIUM
+| *camel.sink.endpoint.streamingThreadCount* | Sets the number of threads for 
the ConcurrentUpdateSolrClient | 2 | false | MEDIUM
+| *camel.sink.endpoint.collection* | Set the default collection for SolrCloud 
| null | false | MEDIUM
+| *camel.sink.endpoint.zkChroot* | Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '/mychroot') | null | false | MEDIUM
+| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally add 
the chroot, e.g. zkHost=localhost:8123,localhost:8124/rootformysolr. In case 
the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123/solr' or 'localhost:8123/solr/..'), then that path is not 
considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zk [...]
+| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
+| *camel.sink.endpoint.followRedirects* | Indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
 | *camel.sink.endpoint.password* | Sets password for basic auth plugin enabled 
servers | null | false | MEDIUM
 | *camel.sink.endpoint.username* | Sets username for basic auth plugin enabled 
servers | null | false | MEDIUM
-| *camel.sink.endpoint.collection* | Set the collection name which the 
solrCloud server could use | null | false | MEDIUM
-| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123. | null | false | MEDIUM
 | *camel.component.solr.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.solr.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
 |===
@@ -67,8 +70,4 @@ The camel-solr sink connector has no transforms out of the 
box.
 
 
 The camel-solr sink connector has no aggregation strategies out of the box.
-
-
-
-
 // kafka-connector options: END
diff --git 
a/docs/modules/ROOT/pages/connectors/camel-solrCloud-kafka-sink-connector.adoc 
b/docs/modules/ROOT/pages/connectors/camel-solrCloud-kafka-sink-connector.adoc
index 059b793..d28b7a6 100644
--- 
a/docs/modules/ROOT/pages/connectors/camel-solrCloud-kafka-sink-connector.adoc
+++ 
b/docs/modules/ROOT/pages/connectors/camel-solrCloud-kafka-sink-connector.adoc
@@ -24,30 +24,33 @@ 
connector.class=org.apache.camel.kafkaconnector.solrcloud.CamelSolrcloudSinkConn
 ----
 
 
-The camel-solrCloud sink connector supports 19 options, which are listed below.
+The camel-solrCloud sink connector supports 22 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,1,1",options="header"]
 |===
 | Name | Description | Default | Required | Priority
-| *camel.sink.path.url* | Hostname and port for the solr server | null | true 
| HIGH
-| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
-| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
committed automatically | false | false | MEDIUM
-| *camel.sink.endpoint.connectionTimeout* | connectionTimeout on the 
underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.followRedirects* | indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
+| *camel.sink.path.url* | Hostname and port for the Solr server(s). Multiple 
hosts can be specified, separated with a comma. See the solrClient parameter 
for more information on the SolrClient used to connect to Solr. | null | true | 
HIGH
+| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
automatically followed by a commit | false | false | MEDIUM
+| *camel.sink.endpoint.connectionTimeout* | Sets the connection timeout on the 
SolrClient | null | false | MEDIUM
+| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | LOW
+| *camel.sink.endpoint.httpClient* | Sets the http client to be used by the 
solrClient | null | 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.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | MEDIUM
-| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | MEDIUM
+| *camel.sink.endpoint.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | LOW
+| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | LOW
 | *camel.sink.endpoint.requestHandler* | Set the request handler to be used | 
null | false | MEDIUM
-| *camel.sink.endpoint.soTimeout* | Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing | null | false | MEDIUM
-| *camel.sink.endpoint.streamingQueueSize* | Set the queue size for the 
StreamingUpdateSolrServer | 10 | false | MEDIUM
-| *camel.sink.endpoint.streamingThreadCount* | Set the number of threads for 
the StreamingUpdateSolrServer | 2 | false | MEDIUM
+| *camel.sink.endpoint.solrClient* | Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies the following 
rules to determine the SolrClient. A CloudSolrClient should point to a 
zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme  [...]
+| *camel.sink.endpoint.soTimeout* | Sets the socket timeout on the SolrClient 
| null | false | MEDIUM
+| *camel.sink.endpoint.streamingQueueSize* | Sets the queue size for the 
ConcurrentUpdateSolrClient | 10 | false | MEDIUM
+| *camel.sink.endpoint.streamingThreadCount* | Sets the number of threads for 
the ConcurrentUpdateSolrClient | 2 | false | MEDIUM
+| *camel.sink.endpoint.collection* | Set the default collection for SolrCloud 
| null | false | MEDIUM
+| *camel.sink.endpoint.zkChroot* | Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '/mychroot') | null | false | MEDIUM
+| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally add 
the chroot, e.g. zkHost=localhost:8123,localhost:8124/rootformysolr. In case 
the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123/solr' or 'localhost:8123/solr/..'), then that path is not 
considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zk [...]
+| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
+| *camel.sink.endpoint.followRedirects* | Indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
 | *camel.sink.endpoint.password* | Sets password for basic auth plugin enabled 
servers | null | false | MEDIUM
 | *camel.sink.endpoint.username* | Sets username for basic auth plugin enabled 
servers | null | false | MEDIUM
-| *camel.sink.endpoint.collection* | Set the collection name which the 
solrCloud server could use | null | false | MEDIUM
-| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123. | null | false | MEDIUM
 | *camel.component.solrcloud.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 th [...]
 | *camel.component.solrcloud.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
 |===
@@ -67,8 +70,4 @@ The camel-solrCloud sink connector has no transforms out of 
the box.
 
 
 The camel-solrCloud sink connector has no aggregation strategies out of the 
box.
-
-
-
-
 // kafka-connector options: END
diff --git 
a/docs/modules/ROOT/pages/connectors/camel-solrs-kafka-sink-connector.adoc 
b/docs/modules/ROOT/pages/connectors/camel-solrs-kafka-sink-connector.adoc
index c82f622..41ce9a4 100644
--- a/docs/modules/ROOT/pages/connectors/camel-solrs-kafka-sink-connector.adoc
+++ b/docs/modules/ROOT/pages/connectors/camel-solrs-kafka-sink-connector.adoc
@@ -24,30 +24,33 @@ 
connector.class=org.apache.camel.kafkaconnector.solrs.CamelSolrsSinkConnector
 ----
 
 
-The camel-solrs sink connector supports 19 options, which are listed below.
+The camel-solrs sink connector supports 22 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,1,1",options="header"]
 |===
 | Name | Description | Default | Required | Priority
-| *camel.sink.path.url* | Hostname and port for the solr server | null | true 
| HIGH
-| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
-| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
committed automatically | false | false | MEDIUM
-| *camel.sink.endpoint.connectionTimeout* | connectionTimeout on the 
underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | MEDIUM
-| *camel.sink.endpoint.followRedirects* | indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
+| *camel.sink.path.url* | Hostname and port for the Solr server(s). Multiple 
hosts can be specified, separated with a comma. See the solrClient parameter 
for more information on the SolrClient used to connect to Solr. | null | true | 
HIGH
+| *camel.sink.endpoint.autoCommit* | If true, each producer operation will be 
automatically followed by a commit | false | false | MEDIUM
+| *camel.sink.endpoint.connectionTimeout* | Sets the connection timeout on the 
SolrClient | null | false | MEDIUM
+| *camel.sink.endpoint.defaultMaxConnectionsPerHost* | maxConnectionsPerHost 
on the underlying HttpConnectionManager | null | false | LOW
+| *camel.sink.endpoint.httpClient* | Sets the http client to be used by the 
solrClient | null | 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.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | MEDIUM
-| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | MEDIUM
+| *camel.sink.endpoint.maxRetries* | Maximum number of retries to attempt in 
the event of transient errors | null | false | LOW
+| *camel.sink.endpoint.maxTotalConnections* | maxTotalConnection on the 
underlying HttpConnectionManager | null | false | LOW
 | *camel.sink.endpoint.requestHandler* | Set the request handler to be used | 
null | false | MEDIUM
-| *camel.sink.endpoint.soTimeout* | Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing | null | false | MEDIUM
-| *camel.sink.endpoint.streamingQueueSize* | Set the queue size for the 
StreamingUpdateSolrServer | 10 | false | MEDIUM
-| *camel.sink.endpoint.streamingThreadCount* | Set the number of threads for 
the StreamingUpdateSolrServer | 2 | false | MEDIUM
+| *camel.sink.endpoint.solrClient* | Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies the following 
rules to determine the SolrClient. A CloudSolrClient should point to a 
zookeeper endpoint. Other clients point to a Solr endpoint. 1) when zkHost or 
zkChroot (=zookeeper root) parameter is set, then the CloudSolrClient is used. 
2) when multiple hosts are specified in the uri (separated with a comma), then 
the CloudSolrClient (uri scheme  [...]
+| *camel.sink.endpoint.soTimeout* | Sets the socket timeout on the SolrClient 
| null | false | MEDIUM
+| *camel.sink.endpoint.streamingQueueSize* | Sets the queue size for the 
ConcurrentUpdateSolrClient | 10 | false | MEDIUM
+| *camel.sink.endpoint.streamingThreadCount* | Sets the number of threads for 
the ConcurrentUpdateSolrClient | 2 | false | MEDIUM
+| *camel.sink.endpoint.collection* | Set the default collection for SolrCloud 
| null | false | MEDIUM
+| *camel.sink.endpoint.zkChroot* | Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '/mychroot') | null | false | MEDIUM
+| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Optionally add 
the chroot, e.g. zkHost=localhost:8123,localhost:8124/rootformysolr. In case 
the first part of the chroot path in the zkHost parameter is set to 'solr' 
(e.g. 'localhost:8123/solr' or 'localhost:8123/solr/..'), then that path is not 
considered as zookeeper chroot for backward compatibility reasons (this 
behaviour can be overridden via zk [...]
+| *camel.sink.endpoint.allowCompression* | Server side must support gzip or 
deflate for this to have any effect | null | false | MEDIUM
+| *camel.sink.endpoint.followRedirects* | Indicates whether redirects are used 
to get to the Solr server | null | false | MEDIUM
 | *camel.sink.endpoint.password* | Sets password for basic auth plugin enabled 
servers | null | false | MEDIUM
 | *camel.sink.endpoint.username* | Sets username for basic auth plugin enabled 
servers | null | false | MEDIUM
-| *camel.sink.endpoint.collection* | Set the collection name which the 
solrCloud server could use | null | false | MEDIUM
-| *camel.sink.endpoint.zkHost* | Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123. | null | false | MEDIUM
 | *camel.component.solrs.lazyStartProducer* | Whether the producer should be 
started lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a producer may otherwise 
fail during starting and cause the route to fail being started. By deferring 
this startup to be lazy then the startup failure can be handled during routing 
messages via Camel's routing error handlers. Beware that when the first message 
is processed then c [...]
 | *camel.component.solrs.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
 |===
@@ -67,8 +70,4 @@ The camel-solrs sink connector has no transforms out of the 
box.
 
 
 The camel-solrs sink connector has no aggregation strategies out of the box.
-
-
-
-
 // kafka-connector options: END

Reply via email to