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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git

commit 0fb153a65bd87c7f41ae599235f239b3f7e5ccdb
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Jan 28 12:56:32 2025 +0100

    Regen
---
 .../camel/springboot/catalog/components/solr.json  |  85 ++++++++++------
 .../camel-solr-starter/src/main/docs/solr.json     |  57 +++++++++++
 .../springboot/SolrComponentAutoConfiguration.java |   2 +-
 .../springboot/SolrComponentConfiguration.java     | 111 +++++++++++++++++++++
 .../solr/springboot/SolrComponentConverter.java    |  63 ++++++++++++
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   3 +-
 6 files changed, 289 insertions(+), 32 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/solr.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/solr.json
index 764de36c709..6600369faca 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/solr.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/solr.json
@@ -6,7 +6,7 @@
     "description": "Perform operations against Apache Lucene Solr.",
     "deprecated": false,
     "firstVersion": "4.8.0",
-    "label": "monitoring,search",
+    "label": "search,monitoring",
     "javaType": "org.apache.camel.component.solr.SolrComponent",
     "supportLevel": "Stable",
     "groupId": "org.apache.camel.springboot",
@@ -14,8 +14,7 @@
     "version": "4.10.0-SNAPSHOT",
     "scheme": "solr",
     "extendsScheme": "",
-    "alternativeSchemes": "solr,solrs,solrCloud",
-    "syntax": "solr:url",
+    "syntax": "solr:host:port",
     "async": false,
     "api": false,
     "consumerOnly": false,
@@ -25,36 +24,62 @@
     "remote": true
   },
   "componentProperties": {
-    "lazyStartProducer": { "index": 0, "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 [...]
-    "autowiredEnabled": { "index": 1, "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 t [...]
+    "connectionTimeout": { "index": 0, "kind": "property", "displayName": 
"Connection Timeout", "group": "producer", "label": "", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 60000, "description": "The time in ms to wait 
before connection will time out." },
+    "defaultCollection": { "index": 1, "kind": "property", "displayName": 
"Default Collection", "group": "producer", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Solr default collection 
name" },
+    "host": { "index": 2, "kind": "property", "displayName": "Host", "group": 
"producer", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"description": "The solr instance host name" },
+    "lazyStartProducer": { "index": 3, "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 [...]
+    "port": { "index": 4, "kind": "property", "displayName": "Port", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"int", "deprecated": false, "autowired": false, "secret": false, "description": 
"The solr instance port number" },
+    "requestTimeout": { "index": 5, "kind": "property", "displayName": 
"Request Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 600000, "description": "The timeout in ms to 
wait before the socket will time out." },
+    "autowiredEnabled": { "index": 6, "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 t [...]
+    "solrClient": { "index": 7, "kind": "property", "displayName": "Solr 
Client", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "org.apache.solr.client.solrj.SolrClient", "deprecated": 
false, "autowired": true, "secret": false, "description": "To use an existing 
configured solr client, instead of creating a client per endpoint. This allows 
customizing the client with specific advanced settings." },
+    "enableSSL": { "index": 8, "kind": "property", "displayName": "Enable 
SSL", "group": "security", "label": "security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Enable SSL" },
+    "password": { "index": 9, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "Password for authenticating" },
+    "username": { "index": 10, "kind": "property", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "description": "Basic authenticate user" }
   },
   "headers": {
-    "CamelSolrClient": { "index": 0, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": 
"org.apache.solr.client.solrj.SolrClient", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
client.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#CLIENT" },
-    "CamelSolrCollection": { "index": 1, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The collection to execute the request again.", 
"constantName": "org.apache.camel.component.solr.SolrConstants#COLLECTION" },
-    "SolrOperation": { "index": 2, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The operation to perform.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#OPERATION" },
-    "CamelSolrQueryString": { "index": 3, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The query to execute.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#QUERY_STRING" },
-    "Content-Type": { "index": 4, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The content type.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#CONTENT_TYPE" }
+    "operation": { "index": 0, "kind": "header", "displayName": "", "group": 
"producer", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The operation to perform.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_OPERATION" },
+    "SolrOperation": { "index": 1, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": true, "deprecationNote": "Use header 'operation' instead", 
"autowired": false, "secret": false, "description": "The operation to perform. 
Deprecation note: Use header 'operation' instead", "constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_OPERATION_DEPRECATED" },
+    "collection": { "index": 2, "kind": "header", "displayName": "", "group": 
"producer", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The collection to execute the request against.", 
"constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_COLLECTION" },
+    "CamelSolrCollection": { "index": 3, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": true, "deprecationNote": "Use header 'collection' instead", 
"autowired": false, "secret": false, "description": "The collection to execute 
the request against. Deprecation note: Use header 'collection' instead", 
"constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_COLLECTION_DEPRECATED" },
+    "requestHandler": { "index": 4, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The request handler to execute the solr request 
against.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_REQUEST_HANDLER" },
+    "queryString": { "index": 5, "kind": "header", "displayName": "", "group": 
"producer", "label": "", "required": false, "javaType": "String", "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The query to execute.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_QUERY_STRING" },
+    "CamelSolrQueryString": { "index": 6, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": true, "deprecationNote": "Use header 'queryString' instead", 
"autowired": false, "secret": false, "description": "The query to execute. 
Deprecation note: Use header 'queryString' instead", "constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_QUERY_STRING_DEPRECATED" },
+    "size": { "index": 7, "kind": "header", "displayName": "", "group": 
"producer", "label": "", "required": false, "javaType": "Integer", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The size of the response.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_SIZE" },
+    "from": { "index": 8, "kind": "header", "displayName": "", "group": 
"producer", "label": "", "required": false, "javaType": "Integer", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The starting index of the response.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_FROM" },
+    "solrClient": { "index": 9, "kind": "header", "displayName": "", "group": 
"producer", "label": "", "required": false, "javaType": "SolrClient", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The solr client to use for the request.", 
"constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_SOLR_CLIENT" },
+    "solrParams": { "index": 10, "kind": "header", "displayName": "", "group": 
"producer", "label": "", "required": false, "javaType": "SolrParams", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The solr parameters to use for the request.", 
"constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_SOLR_PARAMS" },
+    "deleteByQuery": { "index": 11, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "boolean", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "defaultValue": "false", "description": "For the delete instruction, 
interprete body as query\/queries instead of id\/ids.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_DELETE_BY_QUERY" },
+    "Content-Type": { "index": 12, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The content type is used to identify the type when 
inserting files.", "constantName": 
"org.apache.camel.component.solr.SolrConstants#PARAM_CONTENT_TYPE" }
   },
   "properties": {
-    "url": { "index": 0, "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 solrC [...]
-    "autoCommit": { "index": 1, "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": { "index": 2, "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": { "index": 3, "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": { "index": 4, "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. This is only applicable when solrClient is not [...]
-    "maxRetries": { "index": 5, "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": { "index": 6, "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": { "index": 7, "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": { "index": 8, "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, cam [...]
-    "soTimeout": { "index": 9, "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": { "index": 10, "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": { "index": 11, "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" },
-    "lazyStartProducer": { "index": 12, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produ [...]
-    "collection": { "index": 13, "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": { "index": 14, "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": { "index": 15, "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:2181,localhost [...]
-    "allowCompression": { "index": 16, "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": { "index": 17, "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": { "index": 18, "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": { "index": 19, "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" }
+    "host": { "index": 0, "kind": "path", "displayName": "Host", "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": 
"configuration", "description": "The solr instance host name (set to 'default' 
to use the host name defined on component level)" },
+    "port": { "index": 1, "kind": "path", "displayName": "Port", "group": 
"producer", "label": "", "required": false, "type": "integer", "javaType": 
"int", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.solr.SolrConfiguration", 
"configurationField": "configuration", "description": "The solr instance port 
number" },
+    "async": { "index": 2, "kind": "parameter", "displayName": "Async", 
"group": "producer", "label": "", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "Use async request processing (when supported 
by the solr client)" },
+    "autoCommit": { "index": 3, "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": 
"configuration", "description": "If true, each producer insert\/delete 
operation will be automatically performing a commit" },
+    "collection": { "index": 4, "kind": "parameter", "displayName": 
"Collection", "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": 
"configuration", "description": "The name of the collection to act against" },
+    "connectionTimeout": { "index": 5, "kind": "parameter", "displayName": 
"Connection Timeout", "group": "producer", "label": "", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "The time in ms to wait before connection will 
time out." },
+    "defaultMaxConnectionsPerHost": { "index": 6, "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": "configuration", "description": "maxConnectionsPerHost on 
the underlying HttpConnectionManager" },
+    "deleteByQuery": { "index": 7, "kind": "parameter", "displayName": "Delete 
By Query", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "For the delete instruction, interprete body as 
query\/queries instead of id\/ids." },
+    "from": { "index": 8, "kind": "parameter", "displayName": "From", "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": "configuration", "description": "Starting index of the 
response." },
+    "httpClient": { "index": 9, "kind": "parameter", "displayName": "Http 
Client", "group": "producer", "label": "", "required": false, "type": "object", 
"javaType": "java.net.http.HttpClient", "deprecated": true, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "Sets the http client to be used by the 
solrClient. This is only applicable when solrClient is not set." },
+    "maxRetries": { "index": 10, "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": 
"configuration", "description": "Maximum number of retries to attempt in the 
event of transient errors" },
+    "maxTotalConnections": { "index": 11, "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": 
"configuration", "description": "maxTotalConnection on the underlying 
HttpConnectionManager" },
+    "operation": { "index": 12, "kind": "parameter", "displayName": 
"Operation", "group": "producer", "label": "", "required": false, "type": 
"object", "javaType": "org.apache.camel.component.solr.SolrOperation", "enum": 
[ "DELETE", "INSERT", "PING", "SEARCH" ], "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "What operation to perform" },
+    "requestHandler": { "index": 13, "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": 
"configuration", "description": "The path of the update request handler (use 
for update requests \/ set solr parameter qt for search requests)" },
+    "requestTimeout": { "index": 14, "kind": "parameter", "displayName": 
"Request Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "The time in ms to wait before the request will 
time out (former soTimeout)." },
+    "size": { "index": 15, "kind": "parameter", "displayName": "Size", 
"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": 
"configuration", "description": "Size of the response." },
+    "solrClient": { "index": 16, "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": 
"configuration", "description": "The solr client to connect to solr. When 
solrClient bean is provided, all connection propertie [...]
+    "soTimeout": { "index": 17, "kind": "parameter", "displayName": "So 
Timeout", "group": "producer", "label": "", "required": false, "type": 
"integer", "javaType": "int", "deprecated": true, "autowired": false, "secret": 
false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "The time in ms to wait before the request will 
time out (former soTimeout)." },
+    "streamingQueueSize": { "index": 18, "kind": "parameter", "displayName": 
"Streaming Queue Size", "group": "producer", "label": "", "required": false, 
"type": "integer", "javaType": "int", "deprecated": true, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "Sets the queue size for the 
ConcurrentUpdateSolrClient" },
+    "streamingThreadCount": { "index": 19, "kind": "parameter", "displayName": 
"Streaming Thread Count", "group": "producer", "label": "", "required": false, 
"type": "integer", "javaType": "int", "deprecated": true, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "Sets the number of threads for the 
ConcurrentUpdateSolrClient" },
+    "lazyStartProducer": { "index": 20, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produ [...]
+    "zkChroot": { "index": 21, "kind": "parameter", "displayName": "Zk 
Chroot", "group": "CloudSolrClient", "label": "CloudSolrClient", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "Set the chroot of the zookeeper connection 
(include the leading slash; e.g. '\/mychroot')" },
+    "zkHost": { "index": 22, "kind": "parameter", "displayName": "Zk Host", 
"group": "CloudSolrClient", "label": "CloudSolrClient", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "Set the ZooKeeper host(s) urls which the 
CloudSolrClient uses, e.g. zkHost=localhost:2181,localhost:2182 [...]
+    "allowCompression": { "index": 23, "kind": "parameter", "displayName": 
"Allow Compression", "group": "HttpSolrClient", "label": "HttpSolrClient", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": true, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "Server side must support gzip or deflate for 
this to have any effect" },
+    "followRedirects": { "index": 24, "kind": "parameter", "displayName": 
"Follow Redirects", "group": "HttpSolrClient", "label": "HttpSolrClient", 
"required": false, "type": "boolean", "javaType": "java.lang.Boolean", 
"deprecated": true, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "Indicates whether redirects are used to get to 
the Solr server" },
+    "certificatePath": { "index": 25, "kind": "parameter", "displayName": 
"Certificate Path", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "The certificate that can be used to access the 
[...]
+    "enableSSL": { "index": 26, "kind": "parameter", "displayName": "Enable 
SSL", "group": "security", "label": "security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.solr.SolrConfiguration", "configurationField": 
"configuration", "description": "Enable SSL" },
+    "password": { "index": 27, "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": 
"configuration", "description": "Password for authenticating" },
+    "username": { "index": 28, "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": 
"configuration", "description": "Basic authenticate user" }
   }
 }
diff --git a/components-starter/camel-solr-starter/src/main/docs/solr.json 
b/components-starter/camel-solr-starter/src/main/docs/solr.json
index deb1bdc7952..9947335be1a 100644
--- a/components-starter/camel-solr-starter/src/main/docs/solr.json
+++ b/components-starter/camel-solr-starter/src/main/docs/solr.json
@@ -20,23 +20,80 @@
       "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration",
       "defaultValue": true
     },
+    {
+      "name": "camel.component.solr.connection-timeout",
+      "type": "java.lang.Long",
+      "description": "The time in ms to wait before connection will time out.",
+      "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration",
+      "defaultValue": 60000
+    },
     {
       "name": "camel.component.solr.customizer.enabled",
       "type": "java.lang.Boolean",
       "sourceType": 
"org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon$CustomizerProperties"
     },
+    {
+      "name": "camel.component.solr.default-collection",
+      "type": "java.lang.String",
+      "description": "Solr default collection name",
+      "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
+    },
+    {
+      "name": "camel.component.solr.enable-s-s-l",
+      "type": "java.lang.Boolean",
+      "description": "Enable SSL",
+      "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration",
+      "defaultValue": false
+    },
     {
       "name": "camel.component.solr.enabled",
       "type": "java.lang.Boolean",
       "description": "Whether to enable auto configuration of the solr 
component. This is enabled by default.",
       "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
     },
+    {
+      "name": "camel.component.solr.host",
+      "type": "java.lang.String",
+      "description": "The solr instance host name",
+      "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
+    },
     {
       "name": "camel.component.solr.lazy-start-producer",
       "type": "java.lang.Boolean",
       "description": "Whether the producer should be started lazy (on the 
first message). By starting lazy you can use this to allow CamelContext and 
routes to startup in situations where a producer may otherwise fail during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and starting the [...]
       "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration",
       "defaultValue": false
+    },
+    {
+      "name": "camel.component.solr.password",
+      "type": "java.lang.String",
+      "description": "Password for authenticating",
+      "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
+    },
+    {
+      "name": "camel.component.solr.port",
+      "type": "java.lang.Integer",
+      "description": "The solr instance port number",
+      "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
+    },
+    {
+      "name": "camel.component.solr.request-timeout",
+      "type": "java.lang.Long",
+      "description": "The timeout in ms to wait before the socket will time 
out.",
+      "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration",
+      "defaultValue": 600000
+    },
+    {
+      "name": "camel.component.solr.solr-client",
+      "type": "org.apache.solr.client.solrj.SolrClient",
+      "description": "To use an existing configured solr client, instead of 
creating a client per endpoint. This allows customizing the client with 
specific advanced settings. The option is a 
org.apache.solr.client.solrj.SolrClient type.",
+      "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
+    },
+    {
+      "name": "camel.component.solr.username",
+      "type": "java.lang.String",
+      "description": "Basic authenticate user",
+      "sourceType": 
"org.apache.camel.component.solr.springboot.SolrComponentConfiguration"
     }
   ],
   "hints": []
diff --git 
a/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentAutoConfiguration.java
 
b/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentAutoConfiguration.java
index f1a721ecbd4..36ca325b137 100644
--- 
a/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentAutoConfiguration.java
+++ 
b/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentAutoConfiguration.java
@@ -42,7 +42,7 @@ import org.springframework.context.annotation.Lazy;
 @Conditional(ConditionalOnCamelContextAndAutoConfigurationBeans.class)
 
@EnableConfigurationProperties({ComponentConfigurationProperties.class,SolrComponentConfiguration.class})
 @ConditionalOnHierarchicalProperties({"camel.component", 
"camel.component.solr"})
-@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureAfter({CamelAutoConfiguration.class, 
SolrComponentConverter.class})
 public class SolrComponentAutoConfiguration {
 
     @Autowired
diff --git 
a/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentConfiguration.java
 
b/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentConfiguration.java
index 01328807743..9258053a9e7 100644
--- 
a/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentConfiguration.java
+++ 
b/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentConfiguration.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.solr.springboot;
 
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
+import org.apache.solr.client.solrj.SolrClient;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 /**
@@ -34,6 +35,18 @@ public class SolrComponentConfiguration
      * enabled by default.
      */
     private Boolean enabled;
+    /**
+     * The time in ms to wait before connection will time out.
+     */
+    private Long connectionTimeout = 60000L;
+    /**
+     * Solr default collection name
+     */
+    private String defaultCollection;
+    /**
+     * The solr instance host name
+     */
+    private String host;
     /**
      * Whether the producer should be started lazy (on the first message). By
      * starting lazy you can use this to allow CamelContext and routes to
@@ -45,6 +58,14 @@ public class SolrComponentConfiguration
      * and prolong the total processing time of the processing.
      */
     private Boolean lazyStartProducer = false;
+    /**
+     * The solr instance port number
+     */
+    private Integer port;
+    /**
+     * The timeout in ms to wait before the socket will time out.
+     */
+    private Long requestTimeout = 600000L;
     /**
      * Whether autowiring is enabled. This is used for automatic autowiring
      * options (the option must be marked as autowired) by looking up in the
@@ -54,6 +75,48 @@ public class SolrComponentConfiguration
      * etc.
      */
     private Boolean autowiredEnabled = true;
+    /**
+     * To use an existing configured solr client, instead of creating a client
+     * per endpoint. This allows customizing the client with specific advanced
+     * settings. The option is a org.apache.solr.client.solrj.SolrClient type.
+     */
+    private SolrClient solrClient;
+    /**
+     * Enable SSL
+     */
+    private Boolean enableSSL = false;
+    /**
+     * Password for authenticating
+     */
+    private String password;
+    /**
+     * Basic authenticate user
+     */
+    private String username;
+
+    public Long getConnectionTimeout() {
+        return connectionTimeout;
+    }
+
+    public void setConnectionTimeout(Long connectionTimeout) {
+        this.connectionTimeout = connectionTimeout;
+    }
+
+    public String getDefaultCollection() {
+        return defaultCollection;
+    }
+
+    public void setDefaultCollection(String defaultCollection) {
+        this.defaultCollection = defaultCollection;
+    }
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
 
     public Boolean getLazyStartProducer() {
         return lazyStartProducer;
@@ -63,6 +126,22 @@ public class SolrComponentConfiguration
         this.lazyStartProducer = lazyStartProducer;
     }
 
+    public Integer getPort() {
+        return port;
+    }
+
+    public void setPort(Integer port) {
+        this.port = port;
+    }
+
+    public Long getRequestTimeout() {
+        return requestTimeout;
+    }
+
+    public void setRequestTimeout(Long requestTimeout) {
+        this.requestTimeout = requestTimeout;
+    }
+
     public Boolean getAutowiredEnabled() {
         return autowiredEnabled;
     }
@@ -70,4 +149,36 @@ public class SolrComponentConfiguration
     public void setAutowiredEnabled(Boolean autowiredEnabled) {
         this.autowiredEnabled = autowiredEnabled;
     }
+
+    public SolrClient getSolrClient() {
+        return solrClient;
+    }
+
+    public void setSolrClient(SolrClient solrClient) {
+        this.solrClient = solrClient;
+    }
+
+    public Boolean getEnableSSL() {
+        return enableSSL;
+    }
+
+    public void setEnableSSL(Boolean enableSSL) {
+        this.enableSSL = enableSSL;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
 }
\ No newline at end of file
diff --git 
a/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentConverter.java
 
b/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentConverter.java
new file mode 100644
index 00000000000..51c1fd14f7a
--- /dev/null
+++ 
b/components-starter/camel-solr-starter/src/main/java/org/apache/camel/component/solr/springboot/SolrComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.solr.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import org.springframework.beans.factory.annotation.Autowired;
+import 
org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+import org.springframework.stereotype.Component;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration(proxyBeanMethods = false)
+@ConfigurationPropertiesBinding
+@Component
+public class SolrComponentConverter implements GenericConverter {
+
+    @Autowired
+    private ApplicationContext applicationContext;
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, 
org.apache.solr.client.solrj.SolrClient.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.apache.solr.client.solrj.SolrClient": return 
applicationContext.getBean(ref, org.apache.solr.client.solrj.SolrClient.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git 
a/components-starter/camel-solr-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 
b/components-starter/camel-solr-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index f53e13c5dea..2ee4fdcaedb 100644
--- 
a/components-starter/camel-solr-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ 
b/components-starter/camel-solr-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -15,4 +15,5 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-org.apache.camel.component.solr.springboot.SolrComponentAutoConfiguration
\ No newline at end of file
+org.apache.camel.component.solr.springboot.SolrComponentAutoConfiguration
+org.apache.camel.component.solr.springboot.SolrComponentConverter

Reply via email to