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

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

commit 3dcf7f1a65193538f94e5135eee412c03fb02ac4
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Mon Jun 24 12:18:16 2019 +0200

    CAMEL-13201: camel-core-engine to have minimal camel-core with no 
components (only properties)
---
 core/camel-api/pom.xml                             |   5 -
 .../org/apache/camel/spi/ThreadPoolProfile.java    |   2 -
 core/camel-core-engine/pom.xml                     | 176 ++++
 .../java/org/apache/camel/reifier/BeanReifier.java |   8 +-
 core/camel-main/pom.xml                            |  32 +-
 core/camel-management-api/pom.xml                  |   4 -
 core/pom.xml                                       |   1 +
 examples/camel-example-main/pom.xml                |  35 +
 .../META-INF/spring-configuration-metadata.json    | 952 ---------------------
 .../src/main/resources/application.properties      |   4 +-
 parent/pom.xml                                     |   5 +
 11 files changed, 257 insertions(+), 967 deletions(-)

diff --git a/core/camel-api/pom.xml b/core/camel-api/pom.xml
index 39f939c..04a797b 100644
--- a/core/camel-api/pom.xml
+++ b/core/camel-api/pom.xml
@@ -54,11 +54,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-util-json</artifactId>
-        </dependency>
-
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/spi/ThreadPoolProfile.java 
b/core/camel-api/src/main/java/org/apache/camel/spi/ThreadPoolProfile.java
index 193b29c..e4ba6ca 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/ThreadPoolProfile.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ThreadPoolProfile.java
@@ -29,8 +29,6 @@ import 
org.apache.camel.util.concurrent.ThreadPoolRejectedPolicy;
  */
 public class ThreadPoolProfile implements Serializable, Cloneable {
 
-    // TODO: Camel 3.0 consider moving to org.apache.camel
-
     private static final long serialVersionUID = 1L;
 
     private String id;
diff --git a/core/camel-core-engine/pom.xml b/core/camel-core-engine/pom.xml
new file mode 100644
index 0000000..ecfe0ff
--- /dev/null
+++ b/core/camel-core-engine/pom.xml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns="http://maven.apache.org/POM/4.0.0";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>core</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
+        <relativePath>..</relativePath>
+    </parent>
+
+    <artifactId>camel-core-engine</artifactId>
+    <packaging>jar</packaging>
+
+    <name>Camel :: Core Engine</name>
+    <description>Just the Camel Core engine without any core 
components</description>
+
+    <properties>
+        <firstVersion>3.0.0</firstVersion>
+        <label>core</label>
+    </properties>
+
+    <dependencies>
+
+        <!-- camel annotations -->
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>spi-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>meta-annotations</artifactId>
+            <optional>true</optional>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-management-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-support</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-core</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-bean</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-browse</artifactId>
+                </exclusion>
+                <!-- lets keep the lrucache -->
+                <!-- <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-caffeine-lrucache</artifactId>
+                </exclusion> -->
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-controlbus</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-dataformat</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-dataset</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-direct</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-directvm</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-file</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-language</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-log</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-mock</artifactId>
+                </exclusion>
+                <!-- lets keep properties component -->
+                <!-- <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-properties</artifactId>
+                </exclusion> -->
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-ref</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-rest</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-saga</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-scheduler</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-seda</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-stub</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-timer</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-validator</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-vm</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-xpath</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-xslt</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+    </dependencies>
+
+</project>
diff --git 
a/core/camel-core/src/main/java/org/apache/camel/reifier/BeanReifier.java 
b/core/camel-core/src/main/java/org/apache/camel/reifier/BeanReifier.java
index 7b1a1d0..a69ce21 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/BeanReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/BeanReifier.java
@@ -21,6 +21,7 @@ import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Processor;
 import org.apache.camel.model.BeanDefinition;
 import org.apache.camel.model.ProcessorDefinition;
+import org.apache.camel.spi.BeanProcessorFactory;
 import org.apache.camel.spi.RouteContext;
 
 class BeanReifier extends ProcessorReifier<BeanDefinition> {
@@ -39,8 +40,11 @@ class BeanReifier extends ProcessorReifier<BeanDefinition> {
         String beanType = definition.getBeanType();
         Class<?> beanClass = definition.getBeanClass();
 
-        return 
camelContext.adapt(ExtendedCamelContext.class).getBeanProcessorFactory().createBeanProcessor(camelContext,
-                bean, beanType, beanClass, ref, method, isCacheBean());
+        BeanProcessorFactory fac = 
camelContext.adapt(ExtendedCamelContext.class).getBeanProcessorFactory();
+        if (fac == null) {
+            throw new IllegalStateException("Cannot find BeanProcessorFactory. 
Make sure camel-bean is on the classpath.");
+        }
+        return fac.createBeanProcessor(camelContext, bean, beanType, 
beanClass, ref, method, isCacheBean());
     }
 
     private boolean isCacheBean() {
diff --git a/core/camel-main/pom.xml b/core/camel-main/pom.xml
index a640987..7835fa7 100644
--- a/core/camel-main/pom.xml
+++ b/core/camel-main/pom.xml
@@ -41,7 +41,7 @@
 
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core</artifactId>
+            <artifactId>camel-core-engine</artifactId>
         </dependency>
 
         <!-- testing -->
@@ -51,6 +51,36 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-bean</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-direct</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-log</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-mock</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-properties</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-seda</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.logging.log4j</groupId>
             <artifactId>log4j-api</artifactId>
             <scope>test</scope>
diff --git a/core/camel-management-api/pom.xml 
b/core/camel-management-api/pom.xml
index bf6208f..ee08ad8 100644
--- a/core/camel-management-api/pom.xml
+++ b/core/camel-management-api/pom.xml
@@ -52,10 +52,6 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-util</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-util-json</artifactId>
-        </dependency>
 
         <dependency>
             <groupId>org.slf4j</groupId>
diff --git a/core/pom.xml b/core/pom.xml
index 0792804..6194264 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -45,6 +45,7 @@
         <module>camel-base</module>
         <module>camel-jaxp</module>
         <module>camel-core</module>
+        <module>camel-core-engine</module>
         <module>camel-endpointdsl</module>
         <module>camel-core-osgi</module>
         <module>camel-core-xml</module>
diff --git a/examples/camel-example-main/pom.xml 
b/examples/camel-example-main/pom.xml
index 956a57b..37a3a8e 100644
--- a/examples/camel-example-main/pom.xml
+++ b/examples/camel-example-main/pom.xml
@@ -43,14 +43,48 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-core</artifactId>
         </dependency>
+<!--
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-core-engine</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-jaxp</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-caffeine-lrucache</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.camel</groupId>
+                    <artifactId>camel-util-json</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+-->
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-main</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
+            <artifactId>camel-bean</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
             <artifactId>camel-quartz2</artifactId>
         </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.sun.xml.bind</groupId>-->
+<!--            <artifactId>jaxb-core</artifactId>-->
+<!--            <scope>test</scope>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.sun.xml.bind</groupId>-->
+<!--            <artifactId>jaxb-impl</artifactId>-->
+<!--            <scope>test</scope>-->
+<!--        </dependency>-->
 
         <!-- logging -->
         <dependency>
@@ -84,6 +118,7 @@
                 <artifactId>camel-maven-plugin</artifactId>
                 <version>${project.version}</version>
                 <configuration>
+                    <logClasspath>true</logClasspath>
                     
<mainClass>org.apache.camel.example.MyApplication</mainClass>
                 </configuration>
             </plugin>
diff --git 
a/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
 
b/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
index adcf379..9d44c79 100644
--- 
a/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
+++ 
b/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
@@ -31,16 +31,6 @@
                        
"sourceType":"org.apache.camel.component.bean.BeanComponent"
                },
                {
-                       "name":"camel.component.browse",
-                       "description":"The browse component is used for viewing 
the messages received on endpoints that supports BrowsableEndpoint.",
-                       
"sourceType":"org.apache.camel.component.browse.BrowseComponent"
-               },
-               {
-                       "name":"camel.component.browse",
-                       "description":"The browse component is used for viewing 
the messages received on endpoints that supports BrowsableEndpoint.",
-                       
"sourceType":"org.apache.camel.component.browse.BrowseComponent"
-               },
-               {
                        "name":"camel.component.class",
                        "description":"The class component is for invoking Java 
classes (Java beans) from Camel.",
                        
"sourceType":"org.apache.camel.component.beanclass.ClassComponent"
@@ -56,141 +46,6 @@
                        
"sourceType":"org.apache.camel.component.beanclass.ClassComponent"
                },
                {
-                       "name":"camel.component.controlbus",
-                       "description":"The controlbus component provides easy 
management of Camel applications based on the Control Bus EIP pattern.",
-                       
"sourceType":"org.apache.camel.component.controlbus.ControlBusComponent"
-               },
-               {
-                       "name":"camel.component.controlbus",
-                       "description":"The controlbus component provides easy 
management of Camel applications based on the Control Bus EIP pattern.",
-                       
"sourceType":"org.apache.camel.component.controlbus.ControlBusComponent"
-               },
-               {
-                       "name":"camel.component.dataformat",
-                       "description":"The dataformat component is used for 
working with Data Formats as if it was a regular Component supporting Endpoints 
and URIs.",
-                       
"sourceType":"org.apache.camel.component.dataformat.DataFormatComponent"
-               },
-               {
-                       "name":"camel.component.dataformat",
-                       "description":"The dataformat component is used for 
working with Data Formats as if it was a regular Component supporting Endpoints 
and URIs.",
-                       
"sourceType":"org.apache.camel.component.dataformat.DataFormatComponent"
-               },
-               {
-                       "name":"camel.component.dataset",
-                       "description":"The dataset component provides a 
mechanism to easily perform load & soak testing of your system.",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetComponent"
-               },
-               {
-                       "name":"camel.component.dataset",
-                       "description":"The dataset component provides a 
mechanism to easily perform load & soak testing of your system.",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetComponent"
-               },
-               {
-                       "name":"camel.component.dataset-test",
-                       "description":"The dataset-test component extends the 
mock component by on startup to pull messages from another endpoint to set the 
expected message bodies.",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetTestComponent"
-               },
-               {
-                       "name":"camel.component.dataset-test",
-                       "description":"The dataset-test component extends the 
mock component by on startup to pull messages from another endpoint to set the 
expected message bodies.",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetTestComponent"
-               },
-               {
-                       "name":"camel.component.direct",
-                       "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent"
-               },
-               {
-                       "name":"camel.component.direct",
-                       "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent"
-               },
-               {
-                       "name":"camel.component.direct",
-                       "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent"
-               },
-               {
-                       "name":"camel.component.direct",
-                       "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.file",
-                       "description":"The file component is used for reading 
or writing files.",
-                       
"sourceType":"org.apache.camel.component.file.FileComponent"
-               },
-               {
-                       "name":"camel.component.file",
-                       "description":"The file component is used for reading 
or writing files.",
-                       
"sourceType":"org.apache.camel.component.file.FileComponent"
-               },
-               {
-                       "name":"camel.component.language",
-                       "description":"The language component allows you to 
send a message to an endpoint which executes a script by any of the supported 
Languages in Camel.",
-                       
"sourceType":"org.apache.camel.component.language.LanguageComponent"
-               },
-               {
-                       "name":"camel.component.language",
-                       "description":"The language component allows you to 
send a message to an endpoint which executes a script by any of the supported 
Languages in Camel.",
-                       
"sourceType":"org.apache.camel.component.language.LanguageComponent"
-               },
-               {
-                       "name":"camel.component.log",
-                       "description":"The log component logs message exchanges 
to the underlying logging mechanism.",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent"
-               },
-               {
-                       "name":"camel.component.log",
-                       "description":"The log component logs message exchanges 
to the underlying logging mechanism.",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent"
-               },
-               {
-                       "name":"camel.component.log",
-                       "description":"The log component logs message exchanges 
to the underlying logging mechanism.",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent"
-               },
-               {
-                       "name":"camel.component.mock",
-                       "description":"The mock component is used for testing 
routes and mediation rules using mocks.",
-                       
"sourceType":"org.apache.camel.component.mock.MockComponent"
-               },
-               {
-                       "name":"camel.component.mock",
-                       "description":"The mock component is used for testing 
routes and mediation rules using mocks.",
-                       
"sourceType":"org.apache.camel.component.mock.MockComponent"
-               },
-               {
                        "name":"camel.component.properties",
                        "description":"The properties component is used for 
using property placeholders in endpoint uris.",
                        
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
@@ -344,261 +199,6 @@
                        "name":"camel.component.quartz2",
                        "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
                        
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.ref",
-                       "description":"The ref component is used for lookup of 
existing endpoints bound in the Registry.",
-                       
"sourceType":"org.apache.camel.component.ref.RefComponent"
-               },
-               {
-                       "name":"camel.component.ref",
-                       "description":"The ref component is used for lookup of 
existing endpoints bound in the Registry.",
-                       
"sourceType":"org.apache.camel.component.ref.RefComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest-api",
-                       "description":"The rest-api component is used for 
providing Swagger API of the REST services which has been defined using the 
rest-dsl in Camel.",
-                       
"sourceType":"org.apache.camel.component.rest.RestApiComponent"
-               },
-               {
-                       "name":"camel.component.rest-api",
-                       "description":"The rest-api component is used for 
providing Swagger API of the REST services which has been defined using the 
rest-dsl in Camel.",
-                       
"sourceType":"org.apache.camel.component.rest.RestApiComponent"
-               },
-               {
-                       "name":"camel.component.saga",
-                       "description":"The saga component provides access to 
advanced options for managing the flow in the Saga EIP.",
-                       
"sourceType":"org.apache.camel.component.saga.SagaComponent"
-               },
-               {
-                       "name":"camel.component.saga",
-                       "description":"The saga component provides access to 
advanced options for managing the flow in the Saga EIP.",
-                       
"sourceType":"org.apache.camel.component.saga.SagaComponent"
-               },
-               {
-                       "name":"camel.component.scheduler",
-                       "description":"The scheduler component is used for 
generating message exchanges when a scheduler fires.",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent"
-               },
-               {
-                       "name":"camel.component.scheduler",
-                       "description":"The scheduler component is used for 
generating message exchanges when a scheduler fires.",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent"
-               },
-               {
-                       "name":"camel.component.scheduler",
-                       "description":"The scheduler component is used for 
generating message exchanges when a scheduler fires.",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.timer",
-                       "description":"The timer component is used for 
generating message exchanges when a timer fires.",
-                       
"sourceType":"org.apache.camel.component.timer.TimerComponent"
-               },
-               {
-                       "name":"camel.component.timer",
-                       "description":"The timer component is used for 
generating message exchanges when a timer fires.",
-                       
"sourceType":"org.apache.camel.component.timer.TimerComponent"
-               },
-               {
-                       "name":"camel.component.validator",
-                       "description":"Validates the payload of a message using 
XML Schema and JAXP Validation.",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent"
-               },
-               {
-                       "name":"camel.component.validator",
-                       "description":"Validates the payload of a message using 
XML Schema and JAXP Validation.",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent"
-               },
-               {
-                       "name":"camel.component.validator",
-                       "description":"Validates the payload of a message using 
XML Schema and JAXP Validation.",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
                }
        ],
        "properties":[
@@ -650,13 +250,6 @@
                        "defaultValue":"1000"
                },
                {
-                       "name":"camel.main.duration",
-                       "type":"long",
-                       
"sourceType":"org.apache.camel.main.MainConfigurationProperties",
-                       "description":"Sets the duration (in seconds) to run 
the application until it should be terminated. Defaults to -1. Any value = 0 
will run forever.",
-                       "defaultValue":"-1"
-               },
-               {
                        "name":"camel.main.duration-hit-exit-code",
                        "type":"int",
                        
"sourceType":"org.apache.camel.main.MainConfigurationProperties",
@@ -1293,20 +886,6 @@
                        "defaultValue":"false"
                },
                {
-                       
"name":"camel.component.browse.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.browse.BrowseComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.browse.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.browse.BrowseComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
                        "name":"camel.component.class.cache",
                        "type":"java.lang.Boolean",
                        
"sourceType":"org.apache.camel.component.beanclass.ClassComponent",
@@ -1327,193 +906,6 @@
                        "defaultValue":"false"
                },
                {
-                       
"name":"camel.component.controlbus.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.controlbus.ControlBusComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       
"name":"camel.component.controlbus.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.controlbus.ControlBusComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.dataformat.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.dataformat.DataFormatComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       
"name":"camel.component.dataformat.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.dataformat.DataFormatComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.dataset.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.dataset.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.dataset-test.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetTestComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       
"name":"camel.component.dataset-test.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetTestComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.direct.block",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent",
-                       "description":"If sending a message to a direct 
endpoint which has no active consumer, then we can tell the producer to block 
and wait for the consumer to become active.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.direct.timeout",
-                       "type":"java.lang.Long",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent",
-                       "description":"The timeout value to use if block is 
enabled.",
-                       "defaultValue":"30000"
-               },
-               {
-                       
"name":"camel.component.direct.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.direct.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.direct-vm.block",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent",
-                       "description":"If sending a message to a direct 
endpoint which has no active consumer, then we can tell the producer to block 
and wait for the consumer to become active.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.direct-vm.timeout",
-                       "type":"java.lang.Long",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent",
-                       "description":"The timeout value to use if block is 
enabled.",
-                       "defaultValue":"30000"
-               },
-               {
-                       
"name":"camel.component.direct-vm.header-filter-strategy",
-                       "type":"org.apache.camel.spi.HeaderFilterStrategy",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent",
-                       "description":"Sets a HeaderFilterStrategy that will 
only be applied on producer endpoints (on both directions: request and 
response). Default value: none."
-               },
-               {
-                       "name":"camel.component.direct-vm.propagate-properties",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent",
-                       "description":"Whether to propagate or not properties 
from the producer side to the consumer side, and vice versa. Default value: 
true.",
-                       "defaultValue":"true"
-               },
-               {
-                       
"name":"camel.component.direct-vm.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       
"name":"camel.component.direct-vm.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.file.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.file.FileComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.file.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.file.FileComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.language.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.language.LanguageComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       
"name":"camel.component.language.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.language.LanguageComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.log.exchange-formatter",
-                       "type":"org.apache.camel.spi.ExchangeFormatter",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent",
-                       "description":"Sets a custom ExchangeFormatter to 
convert the Exchange to a String suitable for logging. If not specified, we 
default to DefaultExchangeFormatter."
-               },
-               {
-                       
"name":"camel.component.log.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.log.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.mock.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.mock.MockComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.mock.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.mock.MockComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
                        "name":"camel.component.properties.locations",
                        "type":"java.util.List",
                        
"sourceType":"org.apache.camel.component.properties.PropertiesComponent",
@@ -1715,350 +1107,6 @@
                        
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent",
                        "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
                        "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.ref.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.ref.RefComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.ref.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.ref.RefComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.rest.consumer-component-name",
-                       "type":"java.lang.String",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent",
-                       "description":"The Camel Rest component to use for 
(consumer) the REST transport, such as jetty, servlet, undertow. If no 
component has been explicit configured, then Camel will lookup if there is a 
Camel component that integrates with the Rest DSL, or if a 
org.apache.camel.spi.RestConsumerFactory is registered in the registry. If 
either one is found, then that is being used."
-               },
-               {
-                       "name":"camel.component.rest.producer-component-name",
-                       "type":"java.lang.String",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent",
-                       "description":"The Camel Rest component to use for 
(producer) the REST transport, such as http, undertow. If no component has been 
explicit configured, then Camel will lookup if there is a Camel component that 
integrates with the Rest DSL, or if a org.apache.camel.spi.RestProducerFactory 
is registered in the registry. If either one is found, then that is being used."
-               },
-               {
-                       "name":"camel.component.rest.component-name",
-                       "type":"java.lang.String",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent",
-                       "description":"The Camel Rest component to use for 
(producer) the REST transport, such as http, undertow. If no component has been 
explicit configured, then Camel will lookup if there is a Camel component that 
integrates with the Rest DSL, or if a org.apache.camel.spi.RestProducerFactory 
is registered in the registry. If either one is found, then that is being 
used.",
-                       "deprecated":true,
-                       "deprecation":{
-                               
-                       }
-               },
-               {
-                       "name":"camel.component.rest.api-doc",
-                       "type":"java.lang.String",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent",
-                       "description":"The swagger api doc resource to use. The 
resource is loaded from classpath by default and must be in JSon format."
-               },
-               {
-                       "name":"camel.component.rest.host",
-                       "type":"java.lang.String",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent",
-                       "description":"Host and port of HTTP service to use 
(override host in swagger schema)"
-               },
-               {
-                       
"name":"camel.component.rest.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.rest.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.rest-api.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.rest.RestApiComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       
"name":"camel.component.rest-api.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.rest.RestApiComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.saga.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.saga.SagaComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.saga.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.saga.SagaComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.scheduler.concurrent-tasks",
-                       "type":"java.lang.Integer",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent",
-                       "description":"Number of threads used by the scheduling 
thread pool. Is by default using a single thread",
-                       "defaultValue":"1"
-               },
-               {
-                       
"name":"camel.component.scheduler.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       
"name":"camel.component.scheduler.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.seda.queue-size",
-                       "type":"java.lang.Integer",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent",
-                       "description":"Sets the default maximum capacity of the 
SEDA queue (i.e., the number of messages it can hold).",
-                       "defaultValue":"1000"
-               },
-               {
-                       "name":"camel.component.seda.concurrent-consumers",
-                       "type":"java.lang.Integer",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent",
-                       "description":"Sets the default number of concurrent 
threads processing exchanges.",
-                       "defaultValue":"1"
-               },
-               {
-                       "name":"camel.component.seda.default-queue-factory",
-                       
"type":"org.apache.camel.component.seda.BlockingQueueFactory",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent",
-                       "description":"Sets the default queue factory."
-               },
-               {
-                       "name":"camel.component.seda.default-block-when-full",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent",
-                       "description":"Whether a thread that sends messages to 
a full SEDA queue will block until the queue's capacity is no longer exhausted. 
By default, an exception will be thrown stating that the queue is full. By 
enabling this option, the calling thread will instead block and wait until the 
message can be accepted.",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.seda.default-offer-timeout",
-                       "type":"java.lang.Long",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent",
-                       "description":"Whether a thread that sends messages to 
a full SEDA queue will block until the queue's capacity is no longer exhausted. 
By default, an exception will be thrown stating that the queue is full. By 
enabling this option, where a configured timeout can be added to the block 
case. Utilizing the .offer(timeout) method of the underlining java queue"
-               },
-               {
-                       
"name":"camel.component.seda.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.seda.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.stub.queue-size",
-                       "type":"java.lang.Integer",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent",
-                       "description":"Sets the default maximum capacity of the 
SEDA queue (i.e., the number of messages it can hold).",
-                       "defaultValue":"1000"
-               },
-               {
-                       "name":"camel.component.stub.concurrent-consumers",
-                       "type":"java.lang.Integer",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent",
-                       "description":"Sets the default number of concurrent 
threads processing exchanges.",
-                       "defaultValue":"1"
-               },
-               {
-                       "name":"camel.component.stub.default-queue-factory",
-                       
"type":"org.apache.camel.component.seda.BlockingQueueFactory",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent",
-                       "description":"Sets the default queue factory."
-               },
-               {
-                       "name":"camel.component.stub.default-block-when-full",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent",
-                       "description":"Whether a thread that sends messages to 
a full SEDA queue will block until the queue's capacity is no longer exhausted. 
By default, an exception will be thrown stating that the queue is full. By 
enabling this option, the calling thread will instead block and wait until the 
message can be accepted.",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.stub.default-offer-timeout",
-                       "type":"java.lang.Long",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent",
-                       "description":"Whether a thread that sends messages to 
a full SEDA queue will block until the queue's capacity is no longer exhausted. 
By default, an exception will be thrown stating that the queue is full. By 
enabling this option, where a configured timeout can be added to the block 
case. Utilizing the .offer(timeout) method of the underlining java queue"
-               },
-               {
-                       
"name":"camel.component.stub.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.stub.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.timer.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.timer.TimerComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.timer.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.timer.TimerComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       
"name":"camel.component.validator.resource-resolver-factory",
-                       
"type":"org.apache.camel.component.validator.ValidatorResourceResolverFactory",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent",
-                       "description":"To use a custom LSResourceResolver which 
depends on a dynamic endpoint resource URI"
-               },
-               {
-                       
"name":"camel.component.validator.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       
"name":"camel.component.validator.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.vm.queue-size",
-                       "type":"java.lang.Integer",
-                       
"sourceType":"org.apache.camel.component.vm.VmComponent",
-                       "description":"Sets the default maximum capacity of the 
SEDA queue (i.e., the number of messages it can hold).",
-                       "defaultValue":"1000"
-               },
-               {
-                       "name":"camel.component.vm.concurrent-consumers",
-                       "type":"java.lang.Integer",
-                       
"sourceType":"org.apache.camel.component.vm.VmComponent",
-                       "description":"Sets the default number of concurrent 
threads processing exchanges.",
-                       "defaultValue":"1"
-               },
-               {
-                       "name":"camel.component.vm.default-queue-factory",
-                       
"type":"org.apache.camel.component.seda.BlockingQueueFactory",
-                       
"sourceType":"org.apache.camel.component.vm.VmComponent",
-                       "description":"Sets the default queue factory."
-               },
-               {
-                       "name":"camel.component.vm.default-block-when-full",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.vm.VmComponent",
-                       "description":"Whether a thread that sends messages to 
a full SEDA queue will block until the queue's capacity is no longer exhausted. 
By default, an exception will be thrown stating that the queue is full. By 
enabling this option, the calling thread will instead block and wait until the 
message can be accepted.",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.vm.default-offer-timeout",
-                       "type":"java.lang.Long",
-                       
"sourceType":"org.apache.camel.component.vm.VmComponent",
-                       "description":"Whether a thread that sends messages to 
a full SEDA queue will block until the queue's capacity is no longer exhausted. 
By default, an exception will be thrown stating that the queue is full. By 
enabling this option, where a configured timeout can be added to the block 
case. Utilizing the .offer(timeout) method of the underlining java queue"
-               },
-               {
-                       
"name":"camel.component.vm.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.vm.VmComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.vm.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.vm.VmComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.xslt.uri-resolver-factory",
-                       
"type":"org.apache.camel.component.xslt.XsltUriResolverFactory",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent",
-                       "description":"To use a custom UriResolver which 
depends on a dynamic endpoint resource URI. Should not be used together with 
the option 'uriResolver'."
-               },
-               {
-                       "name":"camel.component.xslt.uri-resolver",
-                       "type":"javax.xml.transform.URIResolver",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent",
-                       "description":"To use a custom UriResolver. Should not 
be used together with the option 'uriResolverFactory'."
-               },
-               {
-                       "name":"camel.component.xslt.content-cache",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent",
-                       "description":"Cache for the resource content (the 
stylesheet file) when it is loaded. If set to false Camel will reload the 
stylesheet file on each message processing. This is good for development. A 
cached stylesheet can be forced to reload at runtime via JMX using the 
clearCachedStylesheet operation.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.xslt.saxon",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent",
-                       "description":"Whether to use Saxon as the 
transformerFactoryClass. If enabled then the class 
net.sf.saxon.TransformerFactoryImpl. You would need to add Saxon to the 
classpath.",
-                       "defaultValue":"false"
-               },
-               {
-                       "name":"camel.component.xslt.saxon-extension-functions",
-                       "type":"java.lang.String",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent",
-                       "description":"Allows you to use a custom 
net.sf.saxon.lib.ExtensionFunctionDefinition. You would need to add camel-saxon 
to the classpath. The function is looked up in the registry, where you can 
comma to separate multiple values to lookup."
-               },
-               {
-                       "name":"camel.component.xslt.saxon-configuration",
-                       "type":"java.lang.Object",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent",
-                       "description":"To use a custom Saxon configuration"
-               },
-               {
-                       
"name":"camel.component.xslt.saxon-configuration-properties",
-                       "type":"java.util.Map",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent",
-                       "description":"To set custom Saxon configuration 
properties"
-               },
-               {
-                       
"name":"camel.component.xslt.resolve-property-placeholders",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent",
-                       "description":"Whether the component should resolve 
property placeholders on itself when starting. Only properties which are of 
String type can use property placeholders.",
-                       "defaultValue":"true"
-               },
-               {
-                       "name":"camel.component.xslt.basic-property-binding",
-                       "type":"java.lang.Boolean",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent",
-                       "description":"Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities",
-                       "defaultValue":"false"
                }
        ]
 }
\ No newline at end of file
diff --git 
a/examples/camel-example-main/src/main/resources/application.properties 
b/examples/camel-example-main/src/main/resources/application.properties
index 71ab7ab..f33b578 100644
--- a/examples/camel-example-main/src/main/resources/application.properties
+++ b/examples/camel-example-main/src/main/resources/application.properties
@@ -20,6 +20,8 @@
 camel.main.name = MyCoolCamel
 camel.main.jmx-enabled = false
 
+camel.main.duration-max-seconds=5
+
 # you can also configure camel context directly
 # camel.context.shutdown-strategy.shutdown-now-on-timeout = false
 
@@ -28,7 +30,7 @@ camel.main.file-configurations=src/main/data/*.properties
 
 # to configure the camel quartz component
 # here we can configure the options on the component level (and we can use 
dash-naming-style)
-camel.component.quartz2.start-delayed-seconds = 3
+camel.component.quartz2.start-delayed-seconds = 10
 
 # to configure Hystrix EIP (global and you need to add camel-hystrix to the 
classpath)
 ### camel.hystrix.group-key=myGroup
diff --git a/parent/pom.xml b/parent/pom.xml
index 25601a8..300a774 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -823,6 +823,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-core-engine</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-endpointdsl</artifactId>
                 <version>${project.version}</version>
             </dependency>

Reply via email to