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.git


The following commit(s) were added to refs/heads/main by this push:
     new 924919c  Regen for commit fde51bfdce52572ee000e383293f2be42d62f22f
924919c is described below

commit 924919cd69b6589bc669f499572ae0cea4183c12
Author: davsclaus <[email protected]>
AuthorDate: Sun Jun 6 15:27:31 2021 +0000

    Regen for commit fde51bfdce52572ee000e383293f2be42d62f22f
    
    Signed-off-by: GitHub <[email protected]>
---
 .../org/apache/camel/catalog/components/solr.json  |  35 ++---
 .../apache/camel/catalog/components/solrCloud.json |  35 ++---
 .../org/apache/camel/catalog/components/solrs.json |  35 ++---
 .../apache/camel/catalog/docs/solr-component.adoc  |  33 ++---
 .../component/solr/SolrComponentConfigurer.java    |  55 ++++++++
 .../component/solr/SolrEndpointConfigurer.java     | 148 +++++++++++++++++++++
 .../component/solr/SolrEndpointUriFactory.java     |  89 +++++++++++++
 .../services/org/apache/camel/component.properties |   7 +
 .../services/org/apache/camel/component/solr       |   2 +
 .../services/org/apache/camel/component/solrCloud  |   2 +
 .../services/org/apache/camel/component/solrs      |   2 +
 .../org/apache/camel/configurer/solr-component     |   2 +
 .../org/apache/camel/configurer/solr-endpoint      |   2 +
 .../org/apache/camel/urifactory/solr-endpoint      |   2 +
 .../org/apache/camel/urifactory/solrCloud-endpoint |   2 +
 .../org/apache/camel/urifactory/solrs-endpoint     |   2 +
 .../org/apache/camel/component/solr/solr.json      |  51 +++++++
 .../org/apache/camel/component/solr/solrCloud.json |  51 +++++++
 .../org/apache/camel/component/solr/solrs.json     |  51 +++++++
 .../modules/ROOT/pages/solr-component.adoc         |  33 ++---
 20 files changed, 561 insertions(+), 78 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solr.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solr.json
index 1b4a4173..3b790e9 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solr.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solr.json
@@ -27,22 +27,25 @@
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
   },
   "properties": {
-    "url": { "kind": "path", "displayName": "Url", "group": "producer", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Hostname and port for the solr server" 
},
-    "allowCompression": { "kind": "parameter", "displayName": "Allow 
Compression", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": 
false, "secret": false, "description": "Server side must support gzip or 
deflate for this to have any effect" },
-    "autoCommit": { "kind": "parameter", "displayName": "Auto Commit", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, each producer operation 
will be committed automatically" },
-    "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "description": "connectionTimeout on the underlying 
HttpConnectionManager" },
-    "defaultMaxConnectionsPerHost": { "kind": "parameter", "displayName": 
"Default Max Connections Per Host", "group": "producer", "label": "", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"maxConnectionsPerHost on the underlying HttpConnectionManager" },
-    "followRedirects": { "kind": "parameter", "displayName": "Follow 
Redirects", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": 
false, "secret": false, "description": "indicates whether redirects are used to 
get to the Solr server" },
+    "url": { "kind": "path", "displayName": "Url", "group": "producer", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Hostname and port for the Solr server(s). 
Multiple hosts can be specified, separated with a comma. See the solrClient 
parame [...]
+    "autoCommit": { "kind": "parameter", "displayName": "Auto Commit", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "If true, each producer operation will be 
automatically followed by a commit" },
+    "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the connection timeout on the 
SolrClient" },
+    "defaultMaxConnectionsPerHost": { "kind": "parameter", "displayName": 
"Default Max Connections Per Host", "group": "producer", "label": "", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": true, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager" },
+    "httpClient": { "kind": "parameter", "displayName": "Http Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.http.client.HttpClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the http client to be used by the 
solrClient" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during sta [...]
-    "maxRetries": { "kind": "parameter", "displayName": "Max Retries", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "description": "Maximum number of retries to attempt in the 
event of transient errors" },
-    "maxTotalConnections": { "kind": "parameter", "displayName": "Max Total 
Connections", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "description": "maxTotalConnection on the underlying 
HttpConnectionManager" },
-    "requestHandler": { "kind": "parameter", "displayName": "Request Handler", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set the request handler to be used" },
-    "soTimeout": { "kind": "parameter", "displayName": "So Timeout", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"description": "Read timeout on the underlying HttpConnectionManager. This is 
desirable for queries, but probably not for indexing" },
-    "streamingQueueSize": { "kind": "parameter", "displayName": "Streaming 
Queue Size", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "description": "Set the queue size for the 
StreamingUpdateSolrServer" },
-    "streamingThreadCount": { "kind": "parameter", "displayName": "Streaming 
Thread Count", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 2, "description": "Set the number of threads 
for the StreamingUpdateSolrServer" },
-    "password": { "kind": "parameter", "displayName": "Password", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "Sets password for basic auth plugin enabled 
servers" },
-    "username": { "kind": "parameter", "displayName": "Username", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "Sets username for basic auth plugin enabled 
servers" },
-    "collection": { "kind": "parameter", "displayName": "Collection", "group": 
"solrCloud", "label": "solrCloud", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set the collection name which the solrCloud 
server could use" },
-    "zkHost": { "kind": "parameter", "displayName": "Zk Host", "group": 
"solrCloud", "label": "solrCloud", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123." }
+    "maxRetries": { "kind": "parameter", "displayName": "Max Retries", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": true, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Maximum number of retries to attempt in 
the event of transient errors" },
+    "maxTotalConnections": { "kind": "parameter", "displayName": "Max Total 
Connections", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": true, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxTotalConnection on the underlying 
HttpConnectionManager" },
+    "requestHandler": { "kind": "parameter", "displayName": "Request Handler", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the request handler to be used" },
+    "solrClient": { "kind": "parameter", "displayName": "Solr Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.solr.client.solrj.SolrClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies t [...]
+    "soTimeout": { "kind": "parameter", "displayName": "So Timeout", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.solr.SolrConfiguration", 
"configurationField": "solrConfiguration", "description": "Sets the socket 
timeout on the SolrClient" },
+    "streamingQueueSize": { "kind": "parameter", "displayName": "Streaming 
Queue Size", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient" },
+    "streamingThreadCount": { "kind": "parameter", "displayName": "Streaming 
Thread Count", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 2, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient" },
+    "collection": { "kind": "parameter", "displayName": "Collection", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the default collection for SolrCloud" 
},
+    "zkChroot": { "kind": "parameter", "displayName": "Zk Chroot", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '\/mychroot')" },
+    "zkHost": { "kind": "parameter", "displayName": "Zk Host", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Option [...]
+    "allowCompression": { "kind": "parameter", "displayName": "Allow 
Compression", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Server side must support gzip or deflate 
for this to have any effect" },
+    "followRedirects": { "kind": "parameter", "displayName": "Follow 
Redirects", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Indicates whether redirects are used to 
get to the Solr server" },
+    "password": { "kind": "parameter", "displayName": "Password", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets password for basic auth plugin 
enabled servers" },
+    "username": { "kind": "parameter", "displayName": "Username", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets username for basic auth plugin 
enabled servers" }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solrCloud.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solrCloud.json
index 481e996..e1bf4a0 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solrCloud.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solrCloud.json
@@ -27,22 +27,25 @@
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
   },
   "properties": {
-    "url": { "kind": "path", "displayName": "Url", "group": "producer", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Hostname and port for the solr server" 
},
-    "allowCompression": { "kind": "parameter", "displayName": "Allow 
Compression", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": 
false, "secret": false, "description": "Server side must support gzip or 
deflate for this to have any effect" },
-    "autoCommit": { "kind": "parameter", "displayName": "Auto Commit", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, each producer operation 
will be committed automatically" },
-    "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "description": "connectionTimeout on the underlying 
HttpConnectionManager" },
-    "defaultMaxConnectionsPerHost": { "kind": "parameter", "displayName": 
"Default Max Connections Per Host", "group": "producer", "label": "", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"maxConnectionsPerHost on the underlying HttpConnectionManager" },
-    "followRedirects": { "kind": "parameter", "displayName": "Follow 
Redirects", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": 
false, "secret": false, "description": "indicates whether redirects are used to 
get to the Solr server" },
+    "url": { "kind": "path", "displayName": "Url", "group": "producer", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Hostname and port for the Solr server(s). 
Multiple hosts can be specified, separated with a comma. See the solrClient 
parame [...]
+    "autoCommit": { "kind": "parameter", "displayName": "Auto Commit", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "If true, each producer operation will be 
automatically followed by a commit" },
+    "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the connection timeout on the 
SolrClient" },
+    "defaultMaxConnectionsPerHost": { "kind": "parameter", "displayName": 
"Default Max Connections Per Host", "group": "producer", "label": "", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": true, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager" },
+    "httpClient": { "kind": "parameter", "displayName": "Http Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.http.client.HttpClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the http client to be used by the 
solrClient" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during sta [...]
-    "maxRetries": { "kind": "parameter", "displayName": "Max Retries", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "description": "Maximum number of retries to attempt in the 
event of transient errors" },
-    "maxTotalConnections": { "kind": "parameter", "displayName": "Max Total 
Connections", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "description": "maxTotalConnection on the underlying 
HttpConnectionManager" },
-    "requestHandler": { "kind": "parameter", "displayName": "Request Handler", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set the request handler to be used" },
-    "soTimeout": { "kind": "parameter", "displayName": "So Timeout", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"description": "Read timeout on the underlying HttpConnectionManager. This is 
desirable for queries, but probably not for indexing" },
-    "streamingQueueSize": { "kind": "parameter", "displayName": "Streaming 
Queue Size", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "description": "Set the queue size for the 
StreamingUpdateSolrServer" },
-    "streamingThreadCount": { "kind": "parameter", "displayName": "Streaming 
Thread Count", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 2, "description": "Set the number of threads 
for the StreamingUpdateSolrServer" },
-    "password": { "kind": "parameter", "displayName": "Password", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "Sets password for basic auth plugin enabled 
servers" },
-    "username": { "kind": "parameter", "displayName": "Username", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "Sets username for basic auth plugin enabled 
servers" },
-    "collection": { "kind": "parameter", "displayName": "Collection", "group": 
"solrCloud", "label": "solrCloud", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set the collection name which the solrCloud 
server could use" },
-    "zkHost": { "kind": "parameter", "displayName": "Zk Host", "group": 
"solrCloud", "label": "solrCloud", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123." }
+    "maxRetries": { "kind": "parameter", "displayName": "Max Retries", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": true, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Maximum number of retries to attempt in 
the event of transient errors" },
+    "maxTotalConnections": { "kind": "parameter", "displayName": "Max Total 
Connections", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": true, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxTotalConnection on the underlying 
HttpConnectionManager" },
+    "requestHandler": { "kind": "parameter", "displayName": "Request Handler", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the request handler to be used" },
+    "solrClient": { "kind": "parameter", "displayName": "Solr Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.solr.client.solrj.SolrClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies t [...]
+    "soTimeout": { "kind": "parameter", "displayName": "So Timeout", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.solr.SolrConfiguration", 
"configurationField": "solrConfiguration", "description": "Sets the socket 
timeout on the SolrClient" },
+    "streamingQueueSize": { "kind": "parameter", "displayName": "Streaming 
Queue Size", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient" },
+    "streamingThreadCount": { "kind": "parameter", "displayName": "Streaming 
Thread Count", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 2, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient" },
+    "collection": { "kind": "parameter", "displayName": "Collection", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the default collection for SolrCloud" 
},
+    "zkChroot": { "kind": "parameter", "displayName": "Zk Chroot", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '\/mychroot')" },
+    "zkHost": { "kind": "parameter", "displayName": "Zk Host", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Option [...]
+    "allowCompression": { "kind": "parameter", "displayName": "Allow 
Compression", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Server side must support gzip or deflate 
for this to have any effect" },
+    "followRedirects": { "kind": "parameter", "displayName": "Follow 
Redirects", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Indicates whether redirects are used to 
get to the Solr server" },
+    "password": { "kind": "parameter", "displayName": "Password", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets password for basic auth plugin 
enabled servers" },
+    "username": { "kind": "parameter", "displayName": "Username", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets username for basic auth plugin 
enabled servers" }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solrs.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solrs.json
index 6303f4f1..83695b1 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solrs.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/solrs.json
@@ -27,22 +27,25 @@
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
   },
   "properties": {
-    "url": { "kind": "path", "displayName": "Url", "group": "producer", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Hostname and port for the solr server" 
},
-    "allowCompression": { "kind": "parameter", "displayName": "Allow 
Compression", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": 
false, "secret": false, "description": "Server side must support gzip or 
deflate for this to have any effect" },
-    "autoCommit": { "kind": "parameter", "displayName": "Auto Commit", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "If true, each producer operation 
will be committed automatically" },
-    "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "description": "connectionTimeout on the underlying 
HttpConnectionManager" },
-    "defaultMaxConnectionsPerHost": { "kind": "parameter", "displayName": 
"Default Max Connections Per Host", "group": "producer", "label": "", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"maxConnectionsPerHost on the underlying HttpConnectionManager" },
-    "followRedirects": { "kind": "parameter", "displayName": "Follow 
Redirects", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": 
false, "secret": false, "description": "indicates whether redirects are used to 
get to the Solr server" },
+    "url": { "kind": "path", "displayName": "Url", "group": "producer", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Hostname and port for the Solr server(s). 
Multiple hosts can be specified, separated with a comma. See the solrClient 
parame [...]
+    "autoCommit": { "kind": "parameter", "displayName": "Auto Commit", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "If true, each producer operation will be 
automatically followed by a commit" },
+    "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the connection timeout on the 
SolrClient" },
+    "defaultMaxConnectionsPerHost": { "kind": "parameter", "displayName": 
"Default Max Connections Per Host", "group": "producer", "label": "", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": true, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager" },
+    "httpClient": { "kind": "parameter", "displayName": "Http Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.http.client.HttpClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the http client to be used by the 
solrClient" },
     "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during sta [...]
-    "maxRetries": { "kind": "parameter", "displayName": "Max Retries", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "description": "Maximum number of retries to attempt in the 
event of transient errors" },
-    "maxTotalConnections": { "kind": "parameter", "displayName": "Max Total 
Connections", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "description": "maxTotalConnection on the underlying 
HttpConnectionManager" },
-    "requestHandler": { "kind": "parameter", "displayName": "Request Handler", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set the request handler to be used" },
-    "soTimeout": { "kind": "parameter", "displayName": "So Timeout", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"description": "Read timeout on the underlying HttpConnectionManager. This is 
desirable for queries, but probably not for indexing" },
-    "streamingQueueSize": { "kind": "parameter", "displayName": "Streaming 
Queue Size", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "description": "Set the queue size for the 
StreamingUpdateSolrServer" },
-    "streamingThreadCount": { "kind": "parameter", "displayName": "Streaming 
Thread Count", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 2, "description": "Set the number of threads 
for the StreamingUpdateSolrServer" },
-    "password": { "kind": "parameter", "displayName": "Password", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "Sets password for basic auth plugin enabled 
servers" },
-    "username": { "kind": "parameter", "displayName": "Username", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "Sets username for basic auth plugin enabled 
servers" },
-    "collection": { "kind": "parameter", "displayName": "Collection", "group": 
"solrCloud", "label": "solrCloud", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set the collection name which the solrCloud 
server could use" },
-    "zkHost": { "kind": "parameter", "displayName": "Zk Host", "group": 
"solrCloud", "label": "solrCloud", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123." }
+    "maxRetries": { "kind": "parameter", "displayName": "Max Retries", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": true, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Maximum number of retries to attempt in 
the event of transient errors" },
+    "maxTotalConnections": { "kind": "parameter", "displayName": "Max Total 
Connections", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": true, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxTotalConnection on the underlying 
HttpConnectionManager" },
+    "requestHandler": { "kind": "parameter", "displayName": "Request Handler", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the request handler to be used" },
+    "solrClient": { "kind": "parameter", "displayName": "Solr Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.solr.client.solrj.SolrClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies t [...]
+    "soTimeout": { "kind": "parameter", "displayName": "So Timeout", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.solr.SolrConfiguration", 
"configurationField": "solrConfiguration", "description": "Sets the socket 
timeout on the SolrClient" },
+    "streamingQueueSize": { "kind": "parameter", "displayName": "Streaming 
Queue Size", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient" },
+    "streamingThreadCount": { "kind": "parameter", "displayName": "Streaming 
Thread Count", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 2, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient" },
+    "collection": { "kind": "parameter", "displayName": "Collection", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the default collection for SolrCloud" 
},
+    "zkChroot": { "kind": "parameter", "displayName": "Zk Chroot", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '\/mychroot')" },
+    "zkHost": { "kind": "parameter", "displayName": "Zk Host", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Option [...]
+    "allowCompression": { "kind": "parameter", "displayName": "Allow 
Compression", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Server side must support gzip or deflate 
for this to have any effect" },
+    "followRedirects": { "kind": "parameter", "displayName": "Follow 
Redirects", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Indicates whether redirects are used to 
get to the Solr server" },
+    "password": { "kind": "parameter", "displayName": "Password", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets password for basic auth plugin 
enabled servers" },
+    "username": { "kind": "parameter", "displayName": "Username", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets username for basic auth plugin 
enabled servers" }
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/solr-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/solr-component.adoc
index ca81559..5bb33fd 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/solr-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/solr-component.adoc
@@ -70,32 +70,35 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *url* | *Required* Hostname and port for the solr server |  | String
+| *url* | *Required* 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. |  | String
 |===
 
 
-=== Query Parameters (16 parameters):
+=== Query Parameters (19 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *allowCompression* (producer) | Server side must support gzip or deflate for 
this to have any effect |  | Boolean
-| *autoCommit* (producer) | If true, each producer operation will be committed 
automatically | false | boolean
-| *connectionTimeout* (producer) | connectionTimeout on the underlying 
HttpConnectionManager |  | Integer
-| *defaultMaxConnectionsPerHost* (producer) | maxConnectionsPerHost on the 
underlying HttpConnectionManager |  | Integer
-| *followRedirects* (producer) | indicates whether redirects are used to get 
to the Solr server |  | Boolean
+| *autoCommit* (producer) | If true, each producer operation will be 
automatically followed by a commit | false | boolean
+| *connectionTimeout* (producer) | Sets the connection timeout on the 
SolrClient |  | Integer
+| *defaultMaxConnectionsPerHost* (producer) | *Deprecated* 
maxConnectionsPerHost on the underlying HttpConnectionManager |  | Integer
+| *httpClient* (producer) | Sets the http client to be used by the solrClient 
|  | HttpClient
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
-| *maxRetries* (producer) | Maximum number of retries to attempt in the event 
of transient errors |  | Integer
-| *maxTotalConnections* (producer) | maxTotalConnection on the underlying 
HttpConnectionManager |  | Integer
+| *maxRetries* (producer) | *Deprecated* Maximum number of retries to attempt 
in the event of transient errors |  | Integer
+| *maxTotalConnections* (producer) | *Deprecated* maxTotalConnection on the 
underlying HttpConnectionManager |  | Integer
 | *requestHandler* (producer) | Set the request handler to be used |  | String
-| *soTimeout* (producer) | Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing |  | Integer
-| *streamingQueueSize* (producer) | Set the queue size for the 
StreamingUpdateSolrServer | 10 | int
-| *streamingThreadCount* (producer) | Set the number of threads for the 
StreamingUpdateSolrServer | 2 | int
+| *solrClient* (producer) | 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 'solrC [...]
+| *soTimeout* (producer) | Sets the socket timeout on the SolrClient |  | 
Integer
+| *streamingQueueSize* (producer) | Sets the queue size for the 
ConcurrentUpdateSolrClient | 10 | int
+| *streamingThreadCount* (producer) | Sets the number of threads for the 
ConcurrentUpdateSolrClient | 2 | int
+| *collection* (CloudSolrClient) | Set the default collection for SolrCloud |  
| String
+| *zkChroot* (CloudSolrClient) | Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '/mychroot') |  | String
+| *zkHost* (CloudSolrClient) | 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 zkCh [...]
+| *allowCompression* (HttpSolrClient) | Server side must support gzip or 
deflate for this to have any effect |  | Boolean
+| *followRedirects* (HttpSolrClient) | Indicates whether redirects are used to 
get to the Solr server |  | Boolean
 | *password* (security) | Sets password for basic auth plugin enabled servers 
|  | String
 | *username* (security) | Sets username for basic auth plugin enabled servers 
|  | String
-| *collection* (solrCloud) | Set the collection name which the solrCloud 
server could use |  | String
-| *zkHost* (solrCloud) | Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123. |  | String
 |===
 // endpoint options: END
 
@@ -142,7 +145,7 @@ bean]
 |ROLLBACK |n/a |performs a rollback on any pending index changes
 
 |OPTIMIZE |n/a |performs a commit on any pending index changes and then runs 
the
-optimize command
+optimize command (This command reorganizes the Solr index and might be a heavy 
task)
 |=======================================================================
 
 == Example
diff --git 
a/components/camel-solr/src/generated/java/org/apache/camel/component/solr/SolrComponentConfigurer.java
 
b/components/camel-solr/src/generated/java/org/apache/camel/component/solr/SolrComponentConfigurer.java
new file mode 100644
index 0000000..58ff73f
--- /dev/null
+++ 
b/components/camel-solr/src/generated/java/org/apache/camel/component/solr/SolrComponentConfigurer.java
@@ -0,0 +1,55 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.solr;
+
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.support.component.PropertyConfigurerSupport;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class SolrComponentConfigurer extends PropertyConfigurerSupport 
implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+    @Override
+    public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
+        SolrComponent target = (SolrComponent) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "autowiredenabled":
+        case "autowiredEnabled": 
target.setAutowiredEnabled(property(camelContext, boolean.class, value)); 
return true;
+        case "lazystartproducer":
+        case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
+        default: return false;
+        }
+    }
+
+    @Override
+    public Class<?> getOptionType(String name, boolean ignoreCase) {
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "autowiredenabled":
+        case "autowiredEnabled": return boolean.class;
+        case "lazystartproducer":
+        case "lazyStartProducer": return boolean.class;
+        default: return null;
+        }
+    }
+
+    @Override
+    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+        SolrComponent target = (SolrComponent) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "autowiredenabled":
+        case "autowiredEnabled": return target.isAutowiredEnabled();
+        case "lazystartproducer":
+        case "lazyStartProducer": return target.isLazyStartProducer();
+        default: return null;
+        }
+    }
+}
+
diff --git 
a/components/camel-solr/src/generated/java/org/apache/camel/component/solr/SolrEndpointConfigurer.java
 
b/components/camel-solr/src/generated/java/org/apache/camel/component/solr/SolrEndpointConfigurer.java
new file mode 100644
index 0000000..d8b78a1
--- /dev/null
+++ 
b/components/camel-solr/src/generated/java/org/apache/camel/component/solr/SolrEndpointConfigurer.java
@@ -0,0 +1,148 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.solr;
+
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.support.component.PropertyConfigurerSupport;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class SolrEndpointConfigurer extends PropertyConfigurerSupport 
implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+    @Override
+    public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
+        SolrEndpoint target = (SolrEndpoint) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "allowcompression":
+        case "allowCompression": 
target.getSolrConfiguration().setAllowCompression(property(camelContext, 
java.lang.Boolean.class, value)); return true;
+        case "autocommit":
+        case "autoCommit": 
target.getSolrConfiguration().setAutoCommit(property(camelContext, 
boolean.class, value)); return true;
+        case "collection": 
target.getSolrConfiguration().setCollection(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "connectiontimeout":
+        case "connectionTimeout": 
target.getSolrConfiguration().setConnectionTimeout(property(camelContext, 
java.lang.Integer.class, value)); return true;
+        case "defaultmaxconnectionsperhost":
+        case "defaultMaxConnectionsPerHost": 
target.getSolrConfiguration().setDefaultMaxConnectionsPerHost(property(camelContext,
 java.lang.Integer.class, value)); return true;
+        case "followredirects":
+        case "followRedirects": 
target.getSolrConfiguration().setFollowRedirects(property(camelContext, 
java.lang.Boolean.class, value)); return true;
+        case "httpclient":
+        case "httpClient": 
target.getSolrConfiguration().setHttpClient(property(camelContext, 
org.apache.http.client.HttpClient.class, value)); return true;
+        case "lazystartproducer":
+        case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
+        case "maxretries":
+        case "maxRetries": 
target.getSolrConfiguration().setMaxRetries(property(camelContext, 
java.lang.Integer.class, value)); return true;
+        case "maxtotalconnections":
+        case "maxTotalConnections": 
target.getSolrConfiguration().setMaxTotalConnections(property(camelContext, 
java.lang.Integer.class, value)); return true;
+        case "password": 
target.getSolrConfiguration().setPassword(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "requesthandler":
+        case "requestHandler": 
target.getSolrConfiguration().setRequestHandler(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "sotimeout":
+        case "soTimeout": 
target.getSolrConfiguration().setSoTimeout(property(camelContext, 
java.lang.Integer.class, value)); return true;
+        case "solrclient":
+        case "solrClient": 
target.getSolrConfiguration().setSolrClient(property(camelContext, 
org.apache.solr.client.solrj.SolrClient.class, value)); return true;
+        case "streamingqueuesize":
+        case "streamingQueueSize": 
target.getSolrConfiguration().setStreamingQueueSize(property(camelContext, 
int.class, value)); return true;
+        case "streamingthreadcount":
+        case "streamingThreadCount": 
target.getSolrConfiguration().setStreamingThreadCount(property(camelContext, 
int.class, value)); return true;
+        case "username": 
target.getSolrConfiguration().setUsername(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "zkchroot":
+        case "zkChroot": 
target.getSolrConfiguration().setZkChroot(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "zkhost":
+        case "zkHost": 
target.getSolrConfiguration().setZkHost(property(camelContext, 
java.lang.String.class, value)); return true;
+        default: return false;
+        }
+    }
+
+    @Override
+    public Class<?> getOptionType(String name, boolean ignoreCase) {
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "allowcompression":
+        case "allowCompression": return java.lang.Boolean.class;
+        case "autocommit":
+        case "autoCommit": return boolean.class;
+        case "collection": return java.lang.String.class;
+        case "connectiontimeout":
+        case "connectionTimeout": return java.lang.Integer.class;
+        case "defaultmaxconnectionsperhost":
+        case "defaultMaxConnectionsPerHost": return java.lang.Integer.class;
+        case "followredirects":
+        case "followRedirects": return java.lang.Boolean.class;
+        case "httpclient":
+        case "httpClient": return org.apache.http.client.HttpClient.class;
+        case "lazystartproducer":
+        case "lazyStartProducer": return boolean.class;
+        case "maxretries":
+        case "maxRetries": return java.lang.Integer.class;
+        case "maxtotalconnections":
+        case "maxTotalConnections": return java.lang.Integer.class;
+        case "password": return java.lang.String.class;
+        case "requesthandler":
+        case "requestHandler": return java.lang.String.class;
+        case "sotimeout":
+        case "soTimeout": return java.lang.Integer.class;
+        case "solrclient":
+        case "solrClient": return 
org.apache.solr.client.solrj.SolrClient.class;
+        case "streamingqueuesize":
+        case "streamingQueueSize": return int.class;
+        case "streamingthreadcount":
+        case "streamingThreadCount": return int.class;
+        case "username": return java.lang.String.class;
+        case "zkchroot":
+        case "zkChroot": return java.lang.String.class;
+        case "zkhost":
+        case "zkHost": return java.lang.String.class;
+        default: return null;
+        }
+    }
+
+    @Override
+    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+        SolrEndpoint target = (SolrEndpoint) obj;
+        switch (ignoreCase ? name.toLowerCase() : name) {
+        case "allowcompression":
+        case "allowCompression": return 
target.getSolrConfiguration().getAllowCompression();
+        case "autocommit":
+        case "autoCommit": return target.getSolrConfiguration().isAutoCommit();
+        case "collection": return 
target.getSolrConfiguration().getCollection();
+        case "connectiontimeout":
+        case "connectionTimeout": return 
target.getSolrConfiguration().getConnectionTimeout();
+        case "defaultmaxconnectionsperhost":
+        case "defaultMaxConnectionsPerHost": return 
target.getSolrConfiguration().getDefaultMaxConnectionsPerHost();
+        case "followredirects":
+        case "followRedirects": return 
target.getSolrConfiguration().getFollowRedirects();
+        case "httpclient":
+        case "httpClient": return 
target.getSolrConfiguration().getHttpClient();
+        case "lazystartproducer":
+        case "lazyStartProducer": return target.isLazyStartProducer();
+        case "maxretries":
+        case "maxRetries": return 
target.getSolrConfiguration().getMaxRetries();
+        case "maxtotalconnections":
+        case "maxTotalConnections": return 
target.getSolrConfiguration().getMaxTotalConnections();
+        case "password": return target.getSolrConfiguration().getPassword();
+        case "requesthandler":
+        case "requestHandler": return 
target.getSolrConfiguration().getRequestHandler();
+        case "sotimeout":
+        case "soTimeout": return target.getSolrConfiguration().getSoTimeout();
+        case "solrclient":
+        case "solrClient": return 
target.getSolrConfiguration().getSolrClient();
+        case "streamingqueuesize":
+        case "streamingQueueSize": return 
target.getSolrConfiguration().getStreamingQueueSize();
+        case "streamingthreadcount":
+        case "streamingThreadCount": return 
target.getSolrConfiguration().getStreamingThreadCount();
+        case "username": return target.getSolrConfiguration().getUsername();
+        case "zkchroot":
+        case "zkChroot": return target.getSolrConfiguration().getZkChroot();
+        case "zkhost":
+        case "zkHost": return target.getSolrConfiguration().getZkHost();
+        default: return null;
+        }
+    }
+}
+
diff --git 
a/components/camel-solr/src/generated/java/org/apache/camel/component/solr/SolrEndpointUriFactory.java
 
b/components/camel-solr/src/generated/java/org/apache/camel/component/solr/SolrEndpointUriFactory.java
new file mode 100644
index 0000000..4b31feb
--- /dev/null
+++ 
b/components/camel-solr/src/generated/java/org/apache/camel/component/solr/SolrEndpointUriFactory.java
@@ -0,0 +1,89 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.solr;
+
+import java.net.URISyntaxException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.camel.spi.EndpointUriFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+public class SolrEndpointUriFactory extends 
org.apache.camel.support.component.EndpointUriFactorySupport implements 
EndpointUriFactory {
+
+    private static final String BASE = ":url";
+    private static final String[] SCHEMES = new String[]{"solr", "solrs", 
"solrCloud"};
+
+    private static final Set<String> PROPERTY_NAMES;
+    private static final Set<String> SECRET_PROPERTY_NAMES;
+    static {
+        Set<String> props = new HashSet<>(20);
+        props.add("defaultMaxConnectionsPerHost");
+        props.add("httpClient");
+        props.add("maxTotalConnections");
+        props.add("solrClient");
+        props.add("streamingThreadCount");
+        props.add("collection");
+        props.add("zkHost");
+        props.add("soTimeout");
+        props.add("url");
+        props.add("lazyStartProducer");
+        props.add("maxRetries");
+        props.add("password");
+        props.add("requestHandler");
+        props.add("allowCompression");
+        props.add("zkChroot");
+        props.add("followRedirects");
+        props.add("streamingQueueSize");
+        props.add("autoCommit");
+        props.add("connectionTimeout");
+        props.add("username");
+        PROPERTY_NAMES = Collections.unmodifiableSet(props);
+        Set<String> secretProps = new HashSet<>(2);
+        secretProps.add("password");
+        secretProps.add("username");
+        SECRET_PROPERTY_NAMES = Collections.unmodifiableSet(secretProps);
+    }
+
+    @Override
+    public boolean isEnabled(String scheme) {
+        for (String s : SCHEMES) {
+            if (s.equals(scheme)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public String buildUri(String scheme, Map<String, Object> properties, 
boolean encode) throws URISyntaxException {
+        String syntax = scheme + BASE;
+        String uri = syntax;
+
+        Map<String, Object> copy = new HashMap<>(properties);
+
+        uri = buildPathParameter(syntax, uri, "url", null, true, copy);
+        uri = buildQueryParameters(uri, copy, encode);
+        return uri;
+    }
+
+    @Override
+    public Set<String> propertyNames() {
+        return PROPERTY_NAMES;
+    }
+
+    @Override
+    public Set<String> secretPropertyNames() {
+        return SECRET_PROPERTY_NAMES;
+    }
+
+    @Override
+    public boolean isLenientProperties() {
+        return false;
+    }
+}
+
diff --git 
a/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component.properties
 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component.properties
new file mode 100644
index 0000000..2c76252
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+components=solr solrCloud solrs
+groupId=org.apache.camel
+artifactId=camel-solr
+version=3.11.0-SNAPSHOT
+projectName=Camel :: Solr
+projectDescription=Camel Solr Support
diff --git 
a/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component/solr
 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component/solr
new file mode 100644
index 0000000..96b6839
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component/solr
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.solr.SolrComponent
diff --git 
a/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component/solrCloud
 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component/solrCloud
new file mode 100644
index 0000000..96b6839
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component/solrCloud
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.solr.SolrComponent
diff --git 
a/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component/solrs
 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component/solrs
new file mode 100644
index 0000000..96b6839
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/component/solrs
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.solr.SolrComponent
diff --git 
a/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/configurer/solr-component
 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/configurer/solr-component
new file mode 100644
index 0000000..1a2e6ff
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/configurer/solr-component
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.solr.SolrComponentConfigurer
diff --git 
a/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/configurer/solr-endpoint
 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/configurer/solr-endpoint
new file mode 100644
index 0000000..7e2083d
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/configurer/solr-endpoint
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.solr.SolrEndpointConfigurer
diff --git 
a/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/urifactory/solr-endpoint
 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/urifactory/solr-endpoint
new file mode 100644
index 0000000..ca05dd4
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/urifactory/solr-endpoint
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.solr.SolrEndpointUriFactory
diff --git 
a/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/urifactory/solrCloud-endpoint
 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/urifactory/solrCloud-endpoint
new file mode 100644
index 0000000..ca05dd4
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/urifactory/solrCloud-endpoint
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.solr.SolrEndpointUriFactory
diff --git 
a/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/urifactory/solrs-endpoint
 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/urifactory/solrs-endpoint
new file mode 100644
index 0000000..ca05dd4
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/META-INF/services/org/apache/camel/urifactory/solrs-endpoint
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.solr.SolrEndpointUriFactory
diff --git 
a/components/camel-solr/src/generated/resources/org/apache/camel/component/solr/solr.json
 
b/components/camel-solr/src/generated/resources/org/apache/camel/component/solr/solr.json
new file mode 100644
index 0000000..3b790e9
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/org/apache/camel/component/solr/solr.json
@@ -0,0 +1,51 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "solr",
+    "title": "Solr",
+    "description": "Perform operations against Apache Lucene Solr.",
+    "deprecated": false,
+    "firstVersion": "2.9.0",
+    "label": "monitoring,search",
+    "javaType": "org.apache.camel.component.solr.SolrComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-solr",
+    "version": "3.11.0-SNAPSHOT",
+    "scheme": "solr",
+    "extendsScheme": "",
+    "alternativeSchemes": "solr,solrs,solrCloud",
+    "syntax": "solr:url",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
+    "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
+  },
+  "properties": {
+    "url": { "kind": "path", "displayName": "Url", "group": "producer", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Hostname and port for the Solr server(s). 
Multiple hosts can be specified, separated with a comma. See the solrClient 
parame [...]
+    "autoCommit": { "kind": "parameter", "displayName": "Auto Commit", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "If true, each producer operation will be 
automatically followed by a commit" },
+    "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the connection timeout on the 
SolrClient" },
+    "defaultMaxConnectionsPerHost": { "kind": "parameter", "displayName": 
"Default Max Connections Per Host", "group": "producer", "label": "", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": true, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager" },
+    "httpClient": { "kind": "parameter", "displayName": "Http Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.http.client.HttpClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the http client to be used by the 
solrClient" },
+    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during sta [...]
+    "maxRetries": { "kind": "parameter", "displayName": "Max Retries", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": true, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Maximum number of retries to attempt in 
the event of transient errors" },
+    "maxTotalConnections": { "kind": "parameter", "displayName": "Max Total 
Connections", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": true, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxTotalConnection on the underlying 
HttpConnectionManager" },
+    "requestHandler": { "kind": "parameter", "displayName": "Request Handler", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the request handler to be used" },
+    "solrClient": { "kind": "parameter", "displayName": "Solr Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.solr.client.solrj.SolrClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies t [...]
+    "soTimeout": { "kind": "parameter", "displayName": "So Timeout", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.solr.SolrConfiguration", 
"configurationField": "solrConfiguration", "description": "Sets the socket 
timeout on the SolrClient" },
+    "streamingQueueSize": { "kind": "parameter", "displayName": "Streaming 
Queue Size", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient" },
+    "streamingThreadCount": { "kind": "parameter", "displayName": "Streaming 
Thread Count", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 2, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient" },
+    "collection": { "kind": "parameter", "displayName": "Collection", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the default collection for SolrCloud" 
},
+    "zkChroot": { "kind": "parameter", "displayName": "Zk Chroot", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '\/mychroot')" },
+    "zkHost": { "kind": "parameter", "displayName": "Zk Host", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Option [...]
+    "allowCompression": { "kind": "parameter", "displayName": "Allow 
Compression", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Server side must support gzip or deflate 
for this to have any effect" },
+    "followRedirects": { "kind": "parameter", "displayName": "Follow 
Redirects", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Indicates whether redirects are used to 
get to the Solr server" },
+    "password": { "kind": "parameter", "displayName": "Password", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets password for basic auth plugin 
enabled servers" },
+    "username": { "kind": "parameter", "displayName": "Username", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets username for basic auth plugin 
enabled servers" }
+  }
+}
diff --git 
a/components/camel-solr/src/generated/resources/org/apache/camel/component/solr/solrCloud.json
 
b/components/camel-solr/src/generated/resources/org/apache/camel/component/solr/solrCloud.json
new file mode 100644
index 0000000..e1bf4a0
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/org/apache/camel/component/solr/solrCloud.json
@@ -0,0 +1,51 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "solrCloud",
+    "title": "Solr",
+    "description": "Perform operations against Apache Lucene Solr.",
+    "deprecated": false,
+    "firstVersion": "2.9.0",
+    "label": "monitoring,search",
+    "javaType": "org.apache.camel.component.solr.SolrComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-solr",
+    "version": "3.11.0-SNAPSHOT",
+    "scheme": "solrCloud",
+    "extendsScheme": "",
+    "alternativeSchemes": "solr,solrs,solrCloud",
+    "syntax": "solrCloud:url",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
+    "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
+  },
+  "properties": {
+    "url": { "kind": "path", "displayName": "Url", "group": "producer", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Hostname and port for the Solr server(s). 
Multiple hosts can be specified, separated with a comma. See the solrClient 
parame [...]
+    "autoCommit": { "kind": "parameter", "displayName": "Auto Commit", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "If true, each producer operation will be 
automatically followed by a commit" },
+    "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the connection timeout on the 
SolrClient" },
+    "defaultMaxConnectionsPerHost": { "kind": "parameter", "displayName": 
"Default Max Connections Per Host", "group": "producer", "label": "", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": true, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager" },
+    "httpClient": { "kind": "parameter", "displayName": "Http Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.http.client.HttpClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the http client to be used by the 
solrClient" },
+    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during sta [...]
+    "maxRetries": { "kind": "parameter", "displayName": "Max Retries", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": true, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Maximum number of retries to attempt in 
the event of transient errors" },
+    "maxTotalConnections": { "kind": "parameter", "displayName": "Max Total 
Connections", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": true, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxTotalConnection on the underlying 
HttpConnectionManager" },
+    "requestHandler": { "kind": "parameter", "displayName": "Request Handler", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the request handler to be used" },
+    "solrClient": { "kind": "parameter", "displayName": "Solr Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.solr.client.solrj.SolrClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies t [...]
+    "soTimeout": { "kind": "parameter", "displayName": "So Timeout", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.solr.SolrConfiguration", 
"configurationField": "solrConfiguration", "description": "Sets the socket 
timeout on the SolrClient" },
+    "streamingQueueSize": { "kind": "parameter", "displayName": "Streaming 
Queue Size", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient" },
+    "streamingThreadCount": { "kind": "parameter", "displayName": "Streaming 
Thread Count", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 2, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient" },
+    "collection": { "kind": "parameter", "displayName": "Collection", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the default collection for SolrCloud" 
},
+    "zkChroot": { "kind": "parameter", "displayName": "Zk Chroot", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '\/mychroot')" },
+    "zkHost": { "kind": "parameter", "displayName": "Zk Host", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Option [...]
+    "allowCompression": { "kind": "parameter", "displayName": "Allow 
Compression", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Server side must support gzip or deflate 
for this to have any effect" },
+    "followRedirects": { "kind": "parameter", "displayName": "Follow 
Redirects", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Indicates whether redirects are used to 
get to the Solr server" },
+    "password": { "kind": "parameter", "displayName": "Password", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets password for basic auth plugin 
enabled servers" },
+    "username": { "kind": "parameter", "displayName": "Username", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets username for basic auth plugin 
enabled servers" }
+  }
+}
diff --git 
a/components/camel-solr/src/generated/resources/org/apache/camel/component/solr/solrs.json
 
b/components/camel-solr/src/generated/resources/org/apache/camel/component/solr/solrs.json
new file mode 100644
index 0000000..83695b1
--- /dev/null
+++ 
b/components/camel-solr/src/generated/resources/org/apache/camel/component/solr/solrs.json
@@ -0,0 +1,51 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "solrs",
+    "title": "Solr (Secure)",
+    "description": "Perform operations against Apache Lucene Solr.",
+    "deprecated": false,
+    "firstVersion": "2.9.0",
+    "label": "monitoring,search",
+    "javaType": "org.apache.camel.component.solr.SolrComponent",
+    "supportLevel": "Stable",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-solr",
+    "version": "3.11.0-SNAPSHOT",
+    "scheme": "solrs",
+    "extendsScheme": "",
+    "alternativeSchemes": "solr,solrs,solrCloud",
+    "syntax": "solrs:url",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false
+  },
+  "componentProperties": {
+    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
+    "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
+  },
+  "properties": {
+    "url": { "kind": "path", "displayName": "Url", "group": "producer", 
"label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Hostname and port for the Solr server(s). 
Multiple hosts can be specified, separated with a comma. See the solrClient 
parame [...]
+    "autoCommit": { "kind": "parameter", "displayName": "Auto Commit", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "If true, each producer operation will be 
automatically followed by a commit" },
+    "connectionTimeout": { "kind": "parameter", "displayName": "Connection 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the connection timeout on the 
SolrClient" },
+    "defaultMaxConnectionsPerHost": { "kind": "parameter", "displayName": 
"Default Max Connections Per Host", "group": "producer", "label": "", 
"required": false, "type": "integer", "javaType": "java.lang.Integer", 
"deprecated": true, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxConnectionsPerHost on the underlying 
HttpConnectionManager" },
+    "httpClient": { "kind": "parameter", "displayName": "Http Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.http.client.HttpClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the http client to be used by the 
solrClient" },
+    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during sta [...]
+    "maxRetries": { "kind": "parameter", "displayName": "Max Retries", 
"group": "producer", "label": "", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": true, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Maximum number of retries to attempt in 
the event of transient errors" },
+    "maxTotalConnections": { "kind": "parameter", "displayName": "Max Total 
Connections", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": true, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "maxTotalConnection on the underlying 
HttpConnectionManager" },
+    "requestHandler": { "kind": "parameter", "displayName": "Request Handler", 
"group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the request handler to be used" },
+    "solrClient": { "kind": "parameter", "displayName": "Solr Client", 
"group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "org.apache.solr.client.solrj.SolrClient", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Uses the provided solr client to connect 
to solr. When this parameter is not specified, camel applies t [...]
+    "soTimeout": { "kind": "parameter", "displayName": "So Timeout", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.solr.SolrConfiguration", 
"configurationField": "solrConfiguration", "description": "Sets the socket 
timeout on the SolrClient" },
+    "streamingQueueSize": { "kind": "parameter", "displayName": "Streaming 
Queue Size", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient" },
+    "streamingThreadCount": { "kind": "parameter", "displayName": "Streaming 
Thread Count", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 2, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient" },
+    "collection": { "kind": "parameter", "displayName": "Collection", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the default collection for SolrCloud" 
},
+    "zkChroot": { "kind": "parameter", "displayName": "Zk Chroot", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '\/mychroot')" },
+    "zkHost": { "kind": "parameter", "displayName": "Zk Host", "group": 
"CloudSolrClient", "label": "CloudSolrClient", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:8123,localhost:8124. Option [...]
+    "allowCompression": { "kind": "parameter", "displayName": "Allow 
Compression", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Server side must support gzip or deflate 
for this to have any effect" },
+    "followRedirects": { "kind": "parameter", "displayName": "Follow 
Redirects", "group": "HttpSolrClient", "label": "HttpSolrClient", "required": 
false, "type": "boolean", "javaType": "java.lang.Boolean", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Indicates whether redirects are used to 
get to the Solr server" },
+    "password": { "kind": "parameter", "displayName": "Password", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets password for basic auth plugin 
enabled servers" },
+    "username": { "kind": "parameter", "displayName": "Username", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"solrConfiguration", "description": "Sets username for basic auth plugin 
enabled servers" }
+  }
+}
diff --git a/docs/components/modules/ROOT/pages/solr-component.adoc 
b/docs/components/modules/ROOT/pages/solr-component.adoc
index 1661ffc..df928d2 100644
--- a/docs/components/modules/ROOT/pages/solr-component.adoc
+++ b/docs/components/modules/ROOT/pages/solr-component.adoc
@@ -72,32 +72,35 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *url* | *Required* Hostname and port for the solr server |  | String
+| *url* | *Required* 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. |  | String
 |===
 
 
-=== Query Parameters (16 parameters):
+=== Query Parameters (19 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *allowCompression* (producer) | Server side must support gzip or deflate for 
this to have any effect |  | Boolean
-| *autoCommit* (producer) | If true, each producer operation will be committed 
automatically | false | boolean
-| *connectionTimeout* (producer) | connectionTimeout on the underlying 
HttpConnectionManager |  | Integer
-| *defaultMaxConnectionsPerHost* (producer) | maxConnectionsPerHost on the 
underlying HttpConnectionManager |  | Integer
-| *followRedirects* (producer) | indicates whether redirects are used to get 
to the Solr server |  | Boolean
+| *autoCommit* (producer) | If true, each producer operation will be 
automatically followed by a commit | false | boolean
+| *connectionTimeout* (producer) | Sets the connection timeout on the 
SolrClient |  | Integer
+| *defaultMaxConnectionsPerHost* (producer) | *Deprecated* 
maxConnectionsPerHost on the underlying HttpConnectionManager |  | Integer
+| *httpClient* (producer) | Sets the http client to be used by the solrClient 
|  | HttpClient
 | *lazyStartProducer* (producer) | Whether the producer should be started lazy 
(on the first message). By starting lazy you can use this to allow CamelContext 
and routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
-| *maxRetries* (producer) | Maximum number of retries to attempt in the event 
of transient errors |  | Integer
-| *maxTotalConnections* (producer) | maxTotalConnection on the underlying 
HttpConnectionManager |  | Integer
+| *maxRetries* (producer) | *Deprecated* Maximum number of retries to attempt 
in the event of transient errors |  | Integer
+| *maxTotalConnections* (producer) | *Deprecated* maxTotalConnection on the 
underlying HttpConnectionManager |  | Integer
 | *requestHandler* (producer) | Set the request handler to be used |  | String
-| *soTimeout* (producer) | Read timeout on the underlying 
HttpConnectionManager. This is desirable for queries, but probably not for 
indexing |  | Integer
-| *streamingQueueSize* (producer) | Set the queue size for the 
StreamingUpdateSolrServer | 10 | int
-| *streamingThreadCount* (producer) | Set the number of threads for the 
StreamingUpdateSolrServer | 2 | int
+| *solrClient* (producer) | 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 'solrC [...]
+| *soTimeout* (producer) | Sets the socket timeout on the SolrClient |  | 
Integer
+| *streamingQueueSize* (producer) | Sets the queue size for the 
ConcurrentUpdateSolrClient | 10 | int
+| *streamingThreadCount* (producer) | Sets the number of threads for the 
ConcurrentUpdateSolrClient | 2 | int
+| *collection* (CloudSolrClient) | Set the default collection for SolrCloud |  
| String
+| *zkChroot* (CloudSolrClient) | Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '/mychroot') |  | String
+| *zkHost* (CloudSolrClient) | 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 zkCh [...]
+| *allowCompression* (HttpSolrClient) | Server side must support gzip or 
deflate for this to have any effect |  | Boolean
+| *followRedirects* (HttpSolrClient) | Indicates whether redirects are used to 
get to the Solr server |  | Boolean
 | *password* (security) | Sets password for basic auth plugin enabled servers 
|  | String
 | *username* (security) | Sets username for basic auth plugin enabled servers 
|  | String
-| *collection* (solrCloud) | Set the collection name which the solrCloud 
server could use |  | String
-| *zkHost* (solrCloud) | Set the ZooKeeper host information which the 
solrCloud could use, such as zkhost=localhost:8123. |  | String
 |===
 // endpoint options: END
 
@@ -144,7 +147,7 @@ bean]
 |ROLLBACK |n/a |performs a rollback on any pending index changes
 
 |OPTIMIZE |n/a |performs a commit on any pending index changes and then runs 
the
-optimize command
+optimize command (This command reorganizes the Solr index and might be a heavy 
task)
 |=======================================================================
 
 == Example

Reply via email to