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 f911e2c1d6f CAMEL-20996 - Regen metadata
f911e2c1d6f is described below

commit f911e2c1d6fa4561ffb88019889b2d530dd5a2b2
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Mon Jul 22 10:56:21 2024 +0200

    CAMEL-20996 - Regen metadata
    
    Signed-off-by: Andrea Cosentino <anco...@gmail.com>
---
 .../apache/camel/catalog/schemas/camel-spring.xsd  |  50 +-
 .../modules/ROOT/examples/json/solr.json           |   1 +
 .../modules/ROOT/examples/json/solrCloud.json      |   1 +
 .../modules/ROOT/examples/json/solrs.json          |   1 +
 docs/components/modules/ROOT/nav.adoc              |   1 +
 .../modules/ROOT/pages/solr-component.adoc         |   1 +
 .../component/ComponentsBuilderFactory.java        |  39 ++
 .../component/dsl/SolrComponentBuilderFactory.java | 120 ++++
 .../dsl/SolrcloudComponentBuilderFactory.java      | 120 ++++
 .../dsl/SolrsComponentBuilderFactory.java          | 120 ++++
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  86 +++
 .../endpoint/dsl/SolrEndpointBuilderFactory.java   | 766 +++++++++++++++++++++
 14 files changed, 1303 insertions(+), 5 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
index 03d65f16fd7..c9069365302 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
@@ -75,7 +75,7 @@ Configures batch-processing resequence eip.
     <xs:annotation>
       <xs:documentation xml:lang="en">
 <![CDATA[
-Define custom beans that can be used in your Camel routes and in general.
+Calls a Java bean
 ]]>
       </xs:documentation>
     </xs:annotation>
@@ -3973,10 +3973,50 @@ Enables random backoff. Default value: false
     <xs:complexContent>
       <xs:extension base="tns:noOutputDefinition">
         <xs:sequence/>
-        <xs:attribute name="ref" type="xs:string"/>
-        <xs:attribute name="method" type="xs:string"/>
-        <xs:attribute name="beanType" type="xs:string"/>
-        <xs:attribute name="scope" type="xs:string"/>
+        <xs:attribute name="ref" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets a reference to an existing bean to use, which is looked up from the 
registry.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="method" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the method name on the bean to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="beanType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Sets the class name (fully qualified) of the bean to use.
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="scope" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en">
+<![CDATA[
+Scope of bean. When using singleton scope (default) the bean is created or 
looked up only once and reused for the
+lifetime of the endpoint. The bean should be thread-safe in case concurrent 
threads is calling the bean at the same
+time. When using request scope the bean is created or looked up once per 
request (exchange). This can be used if you
+want to store state on a bean while processing a request and you want to call 
the same bean instance multiple times
+while processing the request. The bean does not have to be thread-safe as the 
instance is only called from the same
+request. When using prototype scope, then the bean will be looked up or 
created per call. However in case of lookup then
+this is delegated to the bean registry such as Spring or CDI (if in use), 
which depends on their configuration can act
+as either singleton or prototype scope. So when using prototype scope then 
this depends on the bean registry
+implementation. Default value: Singleton
+]]>
+            </xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
diff --git a/docs/components/modules/ROOT/examples/json/solr.json 
b/docs/components/modules/ROOT/examples/json/solr.json
new file mode 120000
index 00000000000..639b9760421
--- /dev/null
+++ b/docs/components/modules/ROOT/examples/json/solr.json
@@ -0,0 +1 @@
+../../../../../../components/camel-solr/src/generated/resources/META-INF/org/apache/camel/component/solr/solr.json
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/examples/json/solrCloud.json 
b/docs/components/modules/ROOT/examples/json/solrCloud.json
new file mode 120000
index 00000000000..0df336046da
--- /dev/null
+++ b/docs/components/modules/ROOT/examples/json/solrCloud.json
@@ -0,0 +1 @@
+../../../../../../components/camel-solr/src/generated/resources/META-INF/org/apache/camel/component/solr/solrCloud.json
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/examples/json/solrs.json 
b/docs/components/modules/ROOT/examples/json/solrs.json
new file mode 120000
index 00000000000..f9309ea33b5
--- /dev/null
+++ b/docs/components/modules/ROOT/examples/json/solrs.json
@@ -0,0 +1 @@
+../../../../../../components/camel-solr/src/generated/resources/META-INF/org/apache/camel/component/solr/solrs.json
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/nav.adoc 
b/docs/components/modules/ROOT/nav.adoc
index 400dbb1c80c..b6ca855b85d 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -295,6 +295,7 @@
 ** xref:smooks-component.adoc[Smooks]
 ** xref:smpp-component.adoc[SMPP]
 ** xref:snmp-component.adoc[SNMP]
+** xref:solr-component.adoc[Solr]
 ** xref:splunk-component.adoc[Splunk]
 ** xref:splunk-hec-component.adoc[Splunk HEC]
 ** xref:spring-summary.adoc[Spring]
diff --git a/docs/components/modules/ROOT/pages/solr-component.adoc 
b/docs/components/modules/ROOT/pages/solr-component.adoc
new file mode 120000
index 00000000000..a9c497e68a8
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/solr-component.adoc
@@ -0,0 +1 @@
+../../../../../components/camel-solr/src/main/docs/solr-component.adoc
\ No newline at end of file
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 2c23f0d80dd..12d21ee22a3 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -3940,6 +3940,45 @@ public interface ComponentsBuilderFactory {
     static SnmpComponentBuilderFactory.SnmpComponentBuilder snmp() {
         return SnmpComponentBuilderFactory.snmp();
     }
+    /**
+     * Solr (camel-solr)
+     * Perform operations against Apache Lucene Solr.
+     * 
+     * Category: monitoring,search
+     * Since: 4.8
+     * Maven coordinates: org.apache.camel:camel-solr
+     * 
+     * @return the dsl builder
+     */
+    static SolrComponentBuilderFactory.SolrComponentBuilder solr() {
+        return SolrComponentBuilderFactory.solr();
+    }
+    /**
+     * Solr (camel-solr)
+     * Perform operations against Apache Lucene Solr.
+     * 
+     * Category: monitoring,search
+     * Since: 4.8
+     * Maven coordinates: org.apache.camel:camel-solr
+     * 
+     * @return the dsl builder
+     */
+    static SolrcloudComponentBuilderFactory.SolrcloudComponentBuilder 
solrcloud() {
+        return SolrcloudComponentBuilderFactory.solrcloud();
+    }
+    /**
+     * Solr (Secure) (camel-solr)
+     * Perform operations against Apache Lucene Solr.
+     * 
+     * Category: monitoring,search
+     * Since: 4.8
+     * Maven coordinates: org.apache.camel:camel-solr
+     * 
+     * @return the dsl builder
+     */
+    static SolrsComponentBuilderFactory.SolrsComponentBuilder solrs() {
+        return SolrsComponentBuilderFactory.solrs();
+    }
     /**
      * Splunk (camel-splunk)
      * Publish or search for events in Splunk.
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SolrComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SolrComponentBuilderFactory.java
new file mode 100644
index 00000000000..46596ec1539
--- /dev/null
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SolrComponentBuilderFactory.java
@@ -0,0 +1,120 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * 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.builder.component.dsl;
+
+import javax.annotation.processing.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import org.apache.camel.component.solr.SolrComponent;
+
+/**
+ * Perform operations against Apache Lucene Solr.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface SolrComponentBuilderFactory {
+
+    /**
+     * Solr (camel-solr)
+     * Perform operations against Apache Lucene Solr.
+     * 
+     * Category: monitoring,search
+     * Since: 4.8
+     * Maven coordinates: org.apache.camel:camel-solr
+     * 
+     * @return the dsl builder
+     */
+    static SolrComponentBuilder solr() {
+        return new SolrComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the Solr component.
+     */
+    interface SolrComponentBuilder extends ComponentBuilder<SolrComponent> {
+    
+        
+        /**
+         * 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
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default SolrComponentBuilder lazyStartProducer(boolean 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    
+        
+        /**
+         * Whether autowiring is enabled. This is used for automatic autowiring
+         * options (the option must be marked as autowired) by looking up in 
the
+         * registry to find if there is a single instance of matching type,
+         * which then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default SolrComponentBuilder autowiredEnabled(boolean 
autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+    }
+
+    class SolrComponentBuilderImpl
+            extends AbstractComponentBuilder<SolrComponent>
+            implements SolrComponentBuilder {
+        @Override
+        protected SolrComponent buildConcreteComponent() {
+            return new SolrComponent();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "lazyStartProducer": ((SolrComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "autowiredEnabled": ((SolrComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SolrcloudComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SolrcloudComponentBuilderFactory.java
new file mode 100644
index 00000000000..246d1c2e7c5
--- /dev/null
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SolrcloudComponentBuilderFactory.java
@@ -0,0 +1,120 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * 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.builder.component.dsl;
+
+import javax.annotation.processing.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import org.apache.camel.component.solr.SolrComponent;
+
+/**
+ * Perform operations against Apache Lucene Solr.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface SolrcloudComponentBuilderFactory {
+
+    /**
+     * Solr (camel-solr)
+     * Perform operations against Apache Lucene Solr.
+     * 
+     * Category: monitoring,search
+     * Since: 4.8
+     * Maven coordinates: org.apache.camel:camel-solr
+     * 
+     * @return the dsl builder
+     */
+    static SolrcloudComponentBuilder solrcloud() {
+        return new SolrcloudComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the Solr component.
+     */
+    interface SolrcloudComponentBuilder extends 
ComponentBuilder<SolrComponent> {
+    
+        
+        /**
+         * 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
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default SolrcloudComponentBuilder lazyStartProducer(boolean 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    
+        
+        /**
+         * Whether autowiring is enabled. This is used for automatic autowiring
+         * options (the option must be marked as autowired) by looking up in 
the
+         * registry to find if there is a single instance of matching type,
+         * which then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default SolrcloudComponentBuilder autowiredEnabled(boolean 
autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+    }
+
+    class SolrcloudComponentBuilderImpl
+            extends AbstractComponentBuilder<SolrComponent>
+            implements SolrcloudComponentBuilder {
+        @Override
+        protected SolrComponent buildConcreteComponent() {
+            return new SolrComponent();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "lazyStartProducer": ((SolrComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "autowiredEnabled": ((SolrComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SolrsComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SolrsComponentBuilderFactory.java
new file mode 100644
index 00000000000..3f9f105e14c
--- /dev/null
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/SolrsComponentBuilderFactory.java
@@ -0,0 +1,120 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * 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.builder.component.dsl;
+
+import javax.annotation.processing.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import org.apache.camel.component.solr.SolrComponent;
+
+/**
+ * Perform operations against Apache Lucene Solr.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface SolrsComponentBuilderFactory {
+
+    /**
+     * Solr (Secure) (camel-solr)
+     * Perform operations against Apache Lucene Solr.
+     * 
+     * Category: monitoring,search
+     * Since: 4.8
+     * Maven coordinates: org.apache.camel:camel-solr
+     * 
+     * @return the dsl builder
+     */
+    static SolrsComponentBuilder solrs() {
+        return new SolrsComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the Solr (Secure) component.
+     */
+    interface SolrsComponentBuilder extends ComponentBuilder<SolrComponent> {
+    
+        
+        /**
+         * 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
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default SolrsComponentBuilder lazyStartProducer(boolean 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    
+        
+        /**
+         * Whether autowiring is enabled. This is used for automatic autowiring
+         * options (the option must be marked as autowired) by looking up in 
the
+         * registry to find if there is a single instance of matching type,
+         * which then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default SolrsComponentBuilder autowiredEnabled(boolean 
autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+    }
+
+    class SolrsComponentBuilderImpl
+            extends AbstractComponentBuilder<SolrComponent>
+            implements SolrsComponentBuilder {
+        @Override
+        protected SolrComponent buildConcreteComponent() {
+            return new SolrComponent();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "lazyStartProducer": ((SolrComponent) 
component).setLazyStartProducer((boolean) value); return true;
+            case "autowiredEnabled": ((SolrComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 553cf1630f3..606a8d1f457 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -306,6 +306,7 @@ public interface EndpointBuilderFactory
             
org.apache.camel.builder.endpoint.dsl.SmppEndpointBuilderFactory.SmppBuilders,
             
org.apache.camel.builder.endpoint.dsl.SnmpEndpointBuilderFactory.SnmpBuilders,
             
org.apache.camel.builder.endpoint.dsl.Sns2EndpointBuilderFactory.Sns2Builders,
+            
org.apache.camel.builder.endpoint.dsl.SolrEndpointBuilderFactory.SolrBuilders,
             
org.apache.camel.builder.endpoint.dsl.SplunkEndpointBuilderFactory.SplunkBuilders,
             
org.apache.camel.builder.endpoint.dsl.SplunkHECEndpointBuilderFactory.SplunkHECBuilders,
             
org.apache.camel.builder.endpoint.dsl.SpringBatchEndpointBuilderFactory.SpringBatchBuilders,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index b91d8600978..fcd78b55c1c 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -303,6 +303,7 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.SmppEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.SnmpEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.Sns2EndpointBuilderFactory,
+            org.apache.camel.builder.endpoint.dsl.SolrEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.SplunkEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.SplunkHECEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.SpringBatchEndpointBuilderFactory,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index b8ef281f5e6..834f2f4f64c 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -13253,6 +13253,92 @@ public class StaticEndpointBuilders {
     public static SnmpEndpointBuilderFactory.SnmpEndpointBuilder snmp(String 
componentName, String path) {
         return SnmpEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * Solr (camel-solr)
+     * Perform operations against Apache Lucene Solr.
+     * 
+     * Category: monitoring,search
+     * Since: 4.8
+     * Maven coordinates: org.apache.camel:camel-solr
+     * 
+     * Syntax: <code>solr:url</code>
+     * 
+     * Path parameter: 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.
+     * 
+     * @param path url
+     * @return the dsl builder
+     */
+    public static SolrEndpointBuilderFactory.SolrEndpointBuilder solr(String 
path) {
+        return solr("solr", path);
+    }
+    /**
+     * Solr (camel-solr)
+     * Perform operations against Apache Lucene Solr.
+     * 
+     * Category: monitoring,search
+     * Since: 4.8
+     * Maven coordinates: org.apache.camel:camel-solr
+     * 
+     * Syntax: <code>solr:url</code>
+     * 
+     * Path parameter: 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.
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path url
+     * @return the dsl builder
+     */
+    public static SolrEndpointBuilderFactory.SolrEndpointBuilder solr(String 
componentName, String path) {
+        return SolrEndpointBuilderFactory.endpointBuilder(componentName, path);
+    }
+    /**
+     * Solr (camel-solr)
+     * Perform operations against Apache Lucene Solr.
+     * 
+     * Category: monitoring,search
+     * Since: 4.8
+     * Maven coordinates: org.apache.camel:camel-solr
+     * 
+     * Syntax: <code>solrCloud:url</code>
+     * 
+     * Path parameter: 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.
+     * 
+     * @param path url
+     * @return the dsl builder
+     */
+    public static SolrEndpointBuilderFactory.SolrEndpointBuilder 
solrCloud(String path) {
+        return solr("solrCloud", path);
+    }
+    /**
+     * Solr (Secure) (camel-solr)
+     * Perform operations against Apache Lucene Solr.
+     * 
+     * Category: monitoring,search
+     * Since: 4.8
+     * Maven coordinates: org.apache.camel:camel-solr
+     * 
+     * Syntax: <code>solrs:url</code>
+     * 
+     * Path parameter: 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.
+     * 
+     * @param path url
+     * @return the dsl builder
+     */
+    public static SolrEndpointBuilderFactory.SolrEndpointBuilder solrs(String 
path) {
+        return solr("solrs", path);
+    }
     /**
      * Splunk (camel-splunk)
      * Publish or search for events in Splunk.
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SolrEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SolrEndpointBuilderFactory.java
new file mode 100644
index 00000000000..3981c6adf09
--- /dev/null
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/SolrEndpointBuilderFactory.java
@@ -0,0 +1,766 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * 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.builder.endpoint.dsl;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.function.*;
+import java.util.stream.*;
+import javax.annotation.processing.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * Perform operations against Apache Lucene Solr.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface SolrEndpointBuilderFactory {
+
+    /**
+     * Builder for endpoint for the Solr component.
+     */
+    public interface SolrEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedSolrEndpointBuilder advanced() {
+            return (AdvancedSolrEndpointBuilder) this;
+        }
+
+        /**
+         * If true, each producer operation will be automatically followed by a
+         * commit.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param autoCommit the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder autoCommit(boolean autoCommit) {
+            doSetProperty("autoCommit", autoCommit);
+            return this;
+        }
+        /**
+         * If true, each producer operation will be automatically followed by a
+         * commit.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param autoCommit the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder autoCommit(String autoCommit) {
+            doSetProperty("autoCommit", autoCommit);
+            return this;
+        }
+        /**
+         * Sets the connection timeout on the SolrClient.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder connectionTimeout(Integer 
connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * Sets the connection timeout on the SolrClient.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder connectionTimeout(String 
connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * maxConnectionsPerHost on the underlying HttpConnectionManager.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param defaultMaxConnectionsPerHost the value to set
+         * @return the dsl builder
+         */
+        @Deprecated
+        default SolrEndpointBuilder defaultMaxConnectionsPerHost(Integer 
defaultMaxConnectionsPerHost) {
+            doSetProperty("defaultMaxConnectionsPerHost", 
defaultMaxConnectionsPerHost);
+            return this;
+        }
+        /**
+         * maxConnectionsPerHost on the underlying HttpConnectionManager.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param defaultMaxConnectionsPerHost the value to set
+         * @return the dsl builder
+         */
+        @Deprecated
+        default SolrEndpointBuilder defaultMaxConnectionsPerHost(String 
defaultMaxConnectionsPerHost) {
+            doSetProperty("defaultMaxConnectionsPerHost", 
defaultMaxConnectionsPerHost);
+            return this;
+        }
+        /**
+         * Sets the http client to be used by the solrClient. This is only
+         * applicable when solrClient is not set.
+         * 
+         * The option is a: <code>org.apache.http.client.HttpClient</code> 
type.
+         * 
+         * Group: producer
+         * 
+         * @param httpClient the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder 
httpClient(org.apache.http.client.HttpClient httpClient) {
+            doSetProperty("httpClient", httpClient);
+            return this;
+        }
+        /**
+         * Sets the http client to be used by the solrClient. This is only
+         * applicable when solrClient is not set.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.http.client.HttpClient</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param httpClient the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder httpClient(String httpClient) {
+            doSetProperty("httpClient", httpClient);
+            return this;
+        }
+        /**
+         * Maximum number of retries to attempt in the event of transient
+         * errors.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param maxRetries the value to set
+         * @return the dsl builder
+         */
+        @Deprecated
+        default SolrEndpointBuilder maxRetries(Integer maxRetries) {
+            doSetProperty("maxRetries", maxRetries);
+            return this;
+        }
+        /**
+         * Maximum number of retries to attempt in the event of transient
+         * errors.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param maxRetries the value to set
+         * @return the dsl builder
+         */
+        @Deprecated
+        default SolrEndpointBuilder maxRetries(String maxRetries) {
+            doSetProperty("maxRetries", maxRetries);
+            return this;
+        }
+        /**
+         * maxTotalConnection on the underlying HttpConnectionManager.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param maxTotalConnections the value to set
+         * @return the dsl builder
+         */
+        @Deprecated
+        default SolrEndpointBuilder maxTotalConnections(Integer 
maxTotalConnections) {
+            doSetProperty("maxTotalConnections", maxTotalConnections);
+            return this;
+        }
+        /**
+         * maxTotalConnection on the underlying HttpConnectionManager.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param maxTotalConnections the value to set
+         * @return the dsl builder
+         */
+        @Deprecated
+        default SolrEndpointBuilder maxTotalConnections(String 
maxTotalConnections) {
+            doSetProperty("maxTotalConnections", maxTotalConnections);
+            return this;
+        }
+        /**
+         * Set the request handler to be used.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param requestHandler the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder requestHandler(String requestHandler) {
+            doSetProperty("requestHandler", requestHandler);
+            return this;
+        }
+        /**
+         * Uses the provided solr client to connect to solr. When this 
parameter
+         * is not specified, camel applies the following rules to determine the
+         * SolrClient: 1) when zkHost or zkChroot (=zookeeper root) parameter 
is
+         * set, then the CloudSolrClient is used. 2) when multiple hosts are
+         * specified in the uri (separated with a comma), then the
+         * CloudSolrClient (uri scheme is 'solrCloud') or the LBHttpSolrClient
+         * (uri scheme is not 'solrCloud') is used. 3) when the solr operation
+         * is INSERT_STREAMING, then the ConcurrentUpdateSolrClient is used. 4)
+         * otherwise, the HttpSolrClient is used. Note: A CloudSolrClient 
should
+         * point to zookeeper endpoint(s); other clients point to Solr
+         * endpoint(s). The SolrClient can also be set via the exchange header
+         * 'CamelSolrClient'.
+         * 
+         * The option is a: 
<code>org.apache.solr.client.solrj.SolrClient</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param solrClient the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder 
solrClient(org.apache.solr.client.solrj.SolrClient solrClient) {
+            doSetProperty("solrClient", solrClient);
+            return this;
+        }
+        /**
+         * Uses the provided solr client to connect to solr. When this 
parameter
+         * is not specified, camel applies the following rules to determine the
+         * SolrClient: 1) when zkHost or zkChroot (=zookeeper root) parameter 
is
+         * set, then the CloudSolrClient is used. 2) when multiple hosts are
+         * specified in the uri (separated with a comma), then the
+         * CloudSolrClient (uri scheme is 'solrCloud') or the LBHttpSolrClient
+         * (uri scheme is not 'solrCloud') is used. 3) when the solr operation
+         * is INSERT_STREAMING, then the ConcurrentUpdateSolrClient is used. 4)
+         * otherwise, the HttpSolrClient is used. Note: A CloudSolrClient 
should
+         * point to zookeeper endpoint(s); other clients point to Solr
+         * endpoint(s). The SolrClient can also be set via the exchange header
+         * 'CamelSolrClient'.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.solr.client.solrj.SolrClient</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param solrClient the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder solrClient(String solrClient) {
+            doSetProperty("solrClient", solrClient);
+            return this;
+        }
+        /**
+         * Sets the socket timeout on the SolrClient.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param soTimeout the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder soTimeout(Integer soTimeout) {
+            doSetProperty("soTimeout", soTimeout);
+            return this;
+        }
+        /**
+         * Sets the socket timeout on the SolrClient.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param soTimeout the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder soTimeout(String soTimeout) {
+            doSetProperty("soTimeout", soTimeout);
+            return this;
+        }
+        /**
+         * Sets the queue size for the ConcurrentUpdateSolrClient.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Default: 10
+         * Group: producer
+         * 
+         * @param streamingQueueSize the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder streamingQueueSize(int streamingQueueSize) 
{
+            doSetProperty("streamingQueueSize", streamingQueueSize);
+            return this;
+        }
+        /**
+         * Sets the queue size for the ConcurrentUpdateSolrClient.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Default: 10
+         * Group: producer
+         * 
+         * @param streamingQueueSize the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder streamingQueueSize(String 
streamingQueueSize) {
+            doSetProperty("streamingQueueSize", streamingQueueSize);
+            return this;
+        }
+        /**
+         * Sets the number of threads for the ConcurrentUpdateSolrClient.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Default: 2
+         * Group: producer
+         * 
+         * @param streamingThreadCount the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder streamingThreadCount(int 
streamingThreadCount) {
+            doSetProperty("streamingThreadCount", streamingThreadCount);
+            return this;
+        }
+        /**
+         * Sets the number of threads for the ConcurrentUpdateSolrClient.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Default: 2
+         * Group: producer
+         * 
+         * @param streamingThreadCount the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder streamingThreadCount(String 
streamingThreadCount) {
+            doSetProperty("streamingThreadCount", streamingThreadCount);
+            return this;
+        }
+        /**
+         * Set the default collection for SolrCloud.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: CloudSolrClient
+         * 
+         * @param collection the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder collection(String collection) {
+            doSetProperty("collection", collection);
+            return this;
+        }
+        /**
+         * Set the chroot of the zookeeper connection (include the leading
+         * slash; e.g. '/mychroot').
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: CloudSolrClient
+         * 
+         * @param zkChroot the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder zkChroot(String zkChroot) {
+            doSetProperty("zkChroot", zkChroot);
+            return this;
+        }
+        /**
+         * Set the ZooKeeper host(s) urls which the CloudSolrClient uses, e.g.
+         * zkHost=localhost:2181,localhost:2182. Optionally add the chroot, 
e.g.
+         * zkHost=localhost:2181,localhost:2182/rootformysolr. In case the 
first
+         * part of the url path (='contextroot') is set to 'solr' (e.g.
+         * 'localhost:2181/solr' or 'localhost:2181/solr/..'), then that path 
is
+         * not considered as zookeeper chroot for backward compatibility 
reasons
+         * (this behaviour can be overridden via zkChroot parameter).
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: CloudSolrClient
+         * 
+         * @param zkHost the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder zkHost(String zkHost) {
+            doSetProperty("zkHost", zkHost);
+            return this;
+        }
+        /**
+         * Server side must support gzip or deflate for this to have any 
effect.
+         * 
+         * The option is a: <code>java.lang.Boolean</code> type.
+         * 
+         * Group: HttpSolrClient
+         * 
+         * @param allowCompression the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder allowCompression(Boolean allowCompression) 
{
+            doSetProperty("allowCompression", allowCompression);
+            return this;
+        }
+        /**
+         * Server side must support gzip or deflate for this to have any 
effect.
+         * 
+         * The option will be converted to a <code>java.lang.Boolean</code>
+         * type.
+         * 
+         * Group: HttpSolrClient
+         * 
+         * @param allowCompression the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder allowCompression(String allowCompression) {
+            doSetProperty("allowCompression", allowCompression);
+            return this;
+        }
+        /**
+         * Indicates whether redirects are used to get to the Solr server.
+         * 
+         * The option is a: <code>java.lang.Boolean</code> type.
+         * 
+         * Group: HttpSolrClient
+         * 
+         * @param followRedirects the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder followRedirects(Boolean followRedirects) {
+            doSetProperty("followRedirects", followRedirects);
+            return this;
+        }
+        /**
+         * Indicates whether redirects are used to get to the Solr server.
+         * 
+         * The option will be converted to a <code>java.lang.Boolean</code>
+         * type.
+         * 
+         * Group: HttpSolrClient
+         * 
+         * @param followRedirects the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder followRedirects(String followRedirects) {
+            doSetProperty("followRedirects", followRedirects);
+            return this;
+        }
+        /**
+         * Sets password for basic auth plugin enabled servers.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param password the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder password(String password) {
+            doSetProperty("password", password);
+            return this;
+        }
+        /**
+         * Sets username for basic auth plugin enabled servers.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param username the value to set
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder username(String username) {
+            doSetProperty("username", username);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the Solr component.
+     */
+    public interface AdvancedSolrEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default SolrEndpointBuilder basic() {
+            return (SolrEndpointBuilder) this;
+        }
+
+        /**
+         * 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
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedSolrEndpointBuilder lazyStartProducer(boolean 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * 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
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedSolrEndpointBuilder lazyStartProducer(String 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    }
+
+    public interface SolrBuilders {
+        /**
+         * Solr (camel-solr)
+         * Perform operations against Apache Lucene Solr.
+         * 
+         * Category: monitoring,search
+         * Since: 4.8
+         * Maven coordinates: org.apache.camel:camel-solr
+         * 
+         * @return the dsl builder for the headers' name.
+         */
+        default SolrHeaderNameBuilder solr() {
+            return SolrHeaderNameBuilder.INSTANCE;
+        }
+        /**
+         * Solr (camel-solr)
+         * Perform operations against Apache Lucene Solr.
+         * 
+         * Category: monitoring,search
+         * Since: 4.8
+         * Maven coordinates: org.apache.camel:camel-solr
+         * 
+         * Syntax: <code>solr:url</code>
+         * 
+         * Path parameter: 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.
+         * 
+         * @param path url
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder solr(String path) {
+            return SolrEndpointBuilderFactory.endpointBuilder("solr", path);
+        }
+        /**
+         * Solr (camel-solr)
+         * Perform operations against Apache Lucene Solr.
+         * 
+         * Category: monitoring,search
+         * Since: 4.8
+         * Maven coordinates: org.apache.camel:camel-solr
+         * 
+         * Syntax: <code>solr:url</code>
+         * 
+         * Path parameter: 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.
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path url
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder solr(String componentName, String path) {
+            return SolrEndpointBuilderFactory.endpointBuilder(componentName, 
path);
+        }
+        /**
+         * Solr (Secure) (camel-solr)
+         * Perform operations against Apache Lucene Solr.
+         * 
+         * Category: monitoring,search
+         * Since: 4.8
+         * Maven coordinates: org.apache.camel:camel-solr
+         * 
+         * Syntax: <code>solrs:url</code>
+         * 
+         * Path parameter: 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.
+         * 
+         * @param path url
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder solrs(String path) {
+            return SolrEndpointBuilderFactory.endpointBuilder("solrs", path);
+        }
+        /**
+         * Solr (camel-solr)
+         * Perform operations against Apache Lucene Solr.
+         * 
+         * Category: monitoring,search
+         * Since: 4.8
+         * Maven coordinates: org.apache.camel:camel-solr
+         * 
+         * Syntax: <code>solrCloud:url</code>
+         * 
+         * Path parameter: 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.
+         * 
+         * @param path url
+         * @return the dsl builder
+         */
+        default SolrEndpointBuilder solrCloud(String path) {
+            return SolrEndpointBuilderFactory.endpointBuilder("solrCloud", 
path);
+        }
+
+    }
+    /**
+     * The builder of headers' name for the Solr component.
+     */
+    public static class SolrHeaderNameBuilder {
+        /**
+         * The internal instance of the builder used to access to all the
+         * methods representing the name of headers.
+         */
+        private static final SolrHeaderNameBuilder INSTANCE = new 
SolrHeaderNameBuilder();
+
+        /**
+         * The client.
+         * 
+         * The option is a: {@code org.apache.solr.client.solrj.SolrClient}
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SolrClient}.
+         */
+        public String solrClient() {
+            return "CamelSolrClient";
+        }
+        /**
+         * The collection to execute the request again.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SolrCollection}.
+         */
+        public String solrCollection() {
+            return "CamelSolrCollection";
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SolrOperation}.
+         */
+        public String solrOperation() {
+            return "SolrOperation";
+        }
+        /**
+         * The query to execute.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code SolrQueryString}.
+         */
+        public String solrQueryString() {
+            return "CamelSolrQueryString";
+        }
+        /**
+         * The content type.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code Content-Type}.
+         */
+        public String contentType() {
+            return "Content-Type";
+        }
+    }
+    static SolrEndpointBuilder endpointBuilder(String componentName, String 
path) {
+        class SolrEndpointBuilderImpl extends AbstractEndpointBuilder 
implements SolrEndpointBuilder, AdvancedSolrEndpointBuilder {
+            public SolrEndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new SolrEndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file

Reply via email to