You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2016/12/06 12:32:04 UTC

[21/21] camel git commit: CAMEL-10552: spring-boot: make component lazy loading

CAMEL-10552: spring-boot: make component lazy loading


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/03b6fe78
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/03b6fe78
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/03b6fe78

Branch: refs/heads/master
Commit: 03b6fe78dd7e993caf6bfb04ae287c10d5ee3cf6
Parents: 16a7443
Author: lburgazzoli <lb...@gmail.com>
Authored: Mon Dec 5 17:35:43 2016 +0100
Committer: lburgazzoli <lb...@gmail.com>
Committed: Tue Dec 6 13:12:39 2016 +0100

----------------------------------------------------------------------
 .../component/ahc/springboot/AhcComponentAutoConfiguration.java    | 2 ++
 .../component/ahc/ws/springboot/WsComponentAutoConfiguration.java  | 2 ++
 .../component/amqp/springboot/AMQPComponentAutoConfiguration.java  | 2 ++
 .../component/apns/springboot/ApnsComponentAutoConfiguration.java  | 2 ++
 .../asterisk/springboot/AsteriskComponentAutoConfiguration.java    | 2 ++
 .../atmos/springboot/AtmosComponentAutoConfiguration.java          | 2 ++
 .../websocket/springboot/WebsocketComponentAutoConfiguration.java  | 2 ++
 .../component/atom/springboot/AtomComponentAutoConfiguration.java  | 2 ++
 .../component/avro/springboot/AvroComponentAutoConfiguration.java  | 2 ++
 .../component/aws/cw/springboot/CwComponentAutoConfiguration.java  | 2 ++
 .../aws/ddb/springboot/DdbComponentAutoConfiguration.java          | 2 ++
 .../ddbstream/springboot/DdbStreamComponentAutoConfiguration.java  | 2 ++
 .../aws/ec2/springboot/EC2ComponentAutoConfiguration.java          | 2 ++
 .../aws/kinesis/springboot/KinesisComponentAutoConfiguration.java  | 2 ++
 .../component/aws/s3/springboot/S3ComponentAutoConfiguration.java  | 2 ++
 .../aws/sdb/springboot/SdbComponentAutoConfiguration.java          | 2 ++
 .../aws/ses/springboot/SesComponentAutoConfiguration.java          | 2 ++
 .../aws/sns/springboot/SnsComponentAutoConfiguration.java          | 2 ++
 .../aws/sqs/springboot/SqsComponentAutoConfiguration.java          | 2 ++
 .../aws/swf/springboot/SWFComponentAutoConfiguration.java          | 2 ++
 .../springboot/BeanValidatorComponentAutoConfiguration.java        | 2 ++
 .../beanstalk/springboot/BeanstalkComponentAutoConfiguration.java  | 2 ++
 .../bonita/springboot/BonitaComponentAutoConfiguration.java        | 2 ++
 .../component/box/springboot/BoxComponentAutoConfiguration.java    | 2 ++
 .../braintree/springboot/BraintreeComponentAutoConfiguration.java  | 2 ++
 .../cache/springboot/CacheComponentAutoConfiguration.java          | 2 ++
 .../cassandra/springboot/CassandraComponentAutoConfiguration.java  | 2 ++
 .../springboot/ChronicleEngineComponentAutoConfiguration.java      | 2 ++
 .../chunk/springboot/ChunkComponentAutoConfiguration.java          | 2 ++
 .../component/cm/springboot/CMComponentAutoConfiguration.java      | 2 ++
 .../component/cmis/springboot/CMISComponentAutoConfiguration.java  | 2 ++
 .../camel/coap/springboot/CoAPComponentAutoConfiguration.java      | 2 ++
 .../cometd/springboot/CometdComponentAutoConfiguration.java        | 2 ++
 .../consul/springboot/ConsulComponentAutoConfiguration.java        | 2 ++
 .../springboot/QualifiedContextComponentAutoConfiguration.java     | 2 ++
 .../component/bean/springboot/BeanComponentAutoConfiguration.java  | 2 ++
 .../beanclass/springboot/ClassComponentAutoConfiguration.java      | 2 ++
 .../binding/springboot/BindingNameComponentAutoConfiguration.java  | 2 ++
 .../browse/springboot/BrowseComponentAutoConfiguration.java        | 2 ++
 .../springboot/ControlBusComponentAutoConfiguration.java           | 2 ++
 .../springboot/DataFormatComponentAutoConfiguration.java           | 2 ++
 .../dataset/springboot/DataSetComponentAutoConfiguration.java      | 2 ++
 .../direct/springboot/DirectComponentAutoConfiguration.java        | 2 ++
 .../directvm/springboot/DirectVmComponentAutoConfiguration.java    | 2 ++
 .../component/file/springboot/FileComponentAutoConfiguration.java  | 2 ++
 .../language/springboot/LanguageComponentAutoConfiguration.java    | 2 ++
 .../component/log/springboot/LogComponentAutoConfiguration.java    | 2 ++
 .../component/mock/springboot/MockComponentAutoConfiguration.java  | 2 ++
 .../springboot/PropertiesComponentAutoConfiguration.java           | 2 ++
 .../component/ref/springboot/RefComponentAutoConfiguration.java    | 2 ++
 .../rest/springboot/RestApiComponentAutoConfiguration.java         | 2 ++
 .../component/rest/springboot/RestComponentAutoConfiguration.java  | 2 ++
 .../scheduler/springboot/SchedulerComponentAutoConfiguration.java  | 2 ++
 .../component/seda/springboot/SedaComponentAutoConfiguration.java  | 2 ++
 .../component/stub/springboot/StubComponentAutoConfiguration.java  | 2 ++
 .../component/test/springboot/TestComponentAutoConfiguration.java  | 2 ++
 .../timer/springboot/TimerComponentAutoConfiguration.java          | 2 ++
 .../validator/springboot/ValidatorComponentAutoConfiguration.java  | 2 ++
 .../component/vm/springboot/VmComponentAutoConfiguration.java      | 2 ++
 .../component/xslt/springboot/XsltComponentAutoConfiguration.java  | 2 ++
 .../couchdb/springboot/CouchDbComponentAutoConfiguration.java      | 2 ++
 .../springboot/DigitalSignatureComponentAutoConfiguration.java     | 2 ++
 .../cxf/jaxrs/springboot/CxfRsComponentAutoConfiguration.java      | 2 ++
 .../component/cxf/springboot/CxfComponentAutoConfiguration.java    | 2 ++
 .../disruptor/springboot/DisruptorComponentAutoConfiguration.java  | 2 ++
 .../vm/springboot/DisruptorVmComponentAutoConfiguration.java       | 2 ++
 .../component/dns/springboot/DnsComponentAutoConfiguration.java    | 2 ++
 .../docker/springboot/DockerComponentAutoConfiguration.java        | 2 ++
 .../dozer/springboot/DozerComponentAutoConfiguration.java          | 2 ++
 .../drill/springboot/DrillComponentAutoConfiguration.java          | 2 ++
 .../dropbox/springboot/DropboxComponentAutoConfiguration.java      | 2 ++
 .../ehcache/springboot/EhcacheComponentAutoConfiguration.java      | 2 ++
 .../springboot/ElasticsearchComponentAutoConfiguration.java        | 2 ++
 .../elsql/springboot/ElsqlComponentAutoConfiguration.java          | 2 ++
 .../component/etcd/springboot/EtcdComponentAutoConfiguration.java  | 2 ++
 .../component/exec/springboot/ExecComponentAutoConfiguration.java  | 2 ++
 .../facebook/springboot/FacebookComponentAutoConfiguration.java    | 2 ++
 .../flatpack/springboot/FlatpackComponentAutoConfiguration.java    | 2 ++
 .../flink/springboot/FlinkComponentAutoConfiguration.java          | 2 ++
 .../component/fop/springboot/FopComponentAutoConfiguration.java    | 2 ++
 .../springboot/FreemarkerComponentAutoConfiguration.java           | 2 ++
 .../file/remote/springboot/FtpComponentAutoConfiguration.java      | 2 ++
 .../file/remote/springboot/FtpsComponentAutoConfiguration.java     | 2 ++
 .../file/remote/springboot/SftpComponentAutoConfiguration.java     | 2 ++
 .../ganglia/springboot/GangliaComponentAutoConfiguration.java      | 2 ++
 .../geocoder/springboot/GeoCoderComponentAutoConfiguration.java    | 2 ++
 .../component/git/springboot/GitComponentAutoConfiguration.java    | 2 ++
 .../github/springboot/GitHubComponentAutoConfiguration.java        | 2 ++
 .../springboot/GoogleCalendarComponentAutoConfiguration.java       | 2 ++
 .../drive/springboot/GoogleDriveComponentAutoConfiguration.java    | 2 ++
 .../mail/springboot/GoogleMailComponentAutoConfiguration.java      | 2 ++
 .../pubsub/springboot/GooglePubsubComponentAutoConfiguration.java  | 2 ++
 .../component/gora/springboot/GoraComponentAutoConfiguration.java  | 2 ++
 .../springboot/GuavaEventBusComponentAutoConfiguration.java        | 2 ++
 .../hazelcast/springboot/HazelcastComponentAutoConfiguration.java  | 2 ++
 .../hbase/springboot/HBaseComponentAutoConfiguration.java          | 2 ++
 .../component/hdfs/springboot/HdfsComponentAutoConfiguration.java  | 2 ++
 .../component/hdfs2/springboot/HdfsComponentAutoConfiguration.java | 2 ++
 .../hipchat/springboot/HipchatComponentAutoConfiguration.java      | 2 ++
 .../component/http/springboot/HttpComponentAutoConfiguration.java  | 2 ++
 .../component/http4/springboot/HttpComponentAutoConfiguration.java | 2 ++
 .../springboot/InfinispanComponentAutoConfiguration.java           | 2 ++
 .../influxdb/springboot/InfluxDbComponentAutoConfiguration.java    | 2 ++
 .../component/irc/springboot/IrcComponentAutoConfiguration.java    | 2 ++
 .../ironmq/springboot/IronMQComponentAutoConfiguration.java        | 2 ++
 .../javaspace/springboot/JavaSpaceComponentAutoConfiguration.java  | 2 ++
 .../component/jbpm/springboot/JBPMComponentAutoConfiguration.java  | 2 ++
 .../jcache/springboot/JCacheComponentAutoConfiguration.java        | 2 ++
 .../component/jcr/springboot/JcrComponentAutoConfiguration.java    | 2 ++
 .../component/jdbc/springboot/JdbcComponentAutoConfiguration.java  | 2 ++
 .../jetty9/springboot/JettyHttpComponentAutoConfiguration9.java    | 2 ++
 .../jgroups/springboot/JGroupsComponentAutoConfiguration.java      | 2 ++
 .../validator/jing/springboot/JingComponentAutoConfiguration.java  | 2 ++
 .../component/jira/springboot/JIRAComponentAutoConfiguration.java  | 2 ++
 .../component/jms/springboot/JmsComponentAutoConfiguration.java    | 2 ++
 .../component/jmx/springboot/JMXComponentAutoConfiguration.java    | 2 ++
 .../component/jolt/springboot/JoltComponentAutoConfiguration.java  | 2 ++
 .../component/jpa/springboot/JpaComponentAutoConfiguration.java    | 2 ++
 .../component/scp/springboot/ScpComponentAutoConfiguration.java    | 2 ++
 .../jt400/springboot/Jt400ComponentAutoConfiguration.java          | 2 ++
 .../kafka/springboot/KafkaComponentAutoConfiguration.java          | 2 ++
 .../kestrel/springboot/KestrelComponentAutoConfiguration.java      | 2 ++
 .../krati/springboot/KratiComponentAutoConfiguration.java          | 2 ++
 .../springboot/KubernetesComponentAutoConfiguration.java           | 2 ++
 .../component/ldap/springboot/LdapComponentAutoConfiguration.java  | 2 ++
 .../linkedin/springboot/LinkedInComponentAutoConfiguration.java    | 2 ++
 .../lucene/springboot/LuceneComponentAutoConfiguration.java        | 2 ++
 .../springboot/LumberjackComponentAutoConfiguration.java           | 2 ++
 .../component/mail/springboot/MailComponentAutoConfiguration.java  | 2 ++
 .../metrics/springboot/MetricsComponentAutoConfiguration.java      | 2 ++
 .../mina2/springboot/Mina2ComponentAutoConfiguration.java          | 2 ++
 .../component/mllp/springboot/MllpComponentAutoConfiguration.java  | 2 ++
 .../gridfs/springboot/GridFsComponentAutoConfiguration.java        | 2 ++
 .../mongodb/springboot/MongoDbComponentAutoConfiguration.java      | 2 ++
 .../component/mqtt/springboot/MQTTComponentAutoConfiguration.java  | 2 ++
 .../validator/msv/springboot/MsvComponentAutoConfiguration.java    | 2 ++
 .../mustache/springboot/MustacheComponentAutoConfiguration.java    | 2 ++
 .../component/mvel/springboot/MvelComponentAutoConfiguration.java  | 2 ++
 .../mybatis/springboot/MyBatisComponentAutoConfiguration.java      | 2 ++
 .../nagios/springboot/NagiosComponentAutoConfiguration.java        | 2 ++
 .../component/nats/springboot/NatsComponentAutoConfiguration.java  | 2 ++
 .../netty/http/springboot/NettyHttpComponentAutoConfiguration.java | 2 ++
 .../netty/springboot/NettyComponentAutoConfiguration.java          | 2 ++
 .../http/springboot/NettyHttpComponentAutoConfiguration.java       | 2 ++
 .../netty4/springboot/NettyComponentAutoConfiguration.java         | 2 ++
 .../olingo2/springboot/Olingo2ComponentAutoConfiguration.java      | 2 ++
 .../openshift/springboot/OpenShiftComponentAutoConfiguration.java  | 2 ++
 .../springboot/OptaPlannerComponentAutoConfiguration.java          | 2 ++
 .../component/paho/springboot/PahoComponentAutoConfiguration.java  | 2 ++
 .../component/pdf/springboot/PdfComponentAutoConfiguration.java    | 2 ++
 .../pgevent/springboot/PgEventComponentAutoConfiguration.java      | 2 ++
 .../printer/springboot/PrinterComponentAutoConfiguration.java      | 2 ++
 .../quartz2/springboot/QuartzComponentAutoConfiguration.java       | 2 ++
 .../quickfixj/springboot/QuickfixjComponentAutoConfiguration.java  | 2 ++
 .../rabbitmq/springboot/RabbitMQComponentAutoConfiguration.java    | 2 ++
 .../restlet/springboot/RestletComponentAutoConfiguration.java      | 2 ++
 .../component/rmi/springboot/RmiComponentAutoConfiguration.java    | 2 ++
 .../routebox/springboot/RouteboxComponentAutoConfiguration.java    | 2 ++
 .../component/rss/springboot/RssComponentAutoConfiguration.java    | 2 ++
 .../springboot/SalesforceComponentAutoConfiguration.java           | 2 ++
 .../netweaver/springboot/NetWeaverComponentAutoConfiguration.java  | 2 ++
 .../xquery/springboot/XQueryComponentAutoConfiguration.java        | 2 ++
 .../springboot/SchematronComponentAutoConfiguration.java           | 2 ++
 .../springboot/ServiceNowComponentAutoConfiguration.java           | 2 ++
 .../servlet/springboot/ServletComponentAutoConfiguration.java      | 2 ++
 .../component/sip/springboot/SipComponentAutoConfiguration.java    | 2 ++
 .../sjms/batch/springboot/SjmsBatchComponentAutoConfiguration.java | 2 ++
 .../component/sjms/springboot/SjmsComponentAutoConfiguration.java  | 2 ++
 .../slack/springboot/SlackComponentAutoConfiguration.java          | 2 ++
 .../component/smpp/springboot/SmppComponentAutoConfiguration.java  | 2 ++
 .../component/snmp/springboot/SnmpComponentAutoConfiguration.java  | 2 ++
 .../component/solr/springboot/SolrComponentAutoConfiguration.java  | 2 ++
 .../spark/springboot/SparkComponentAutoConfiguration.java          | 2 ++
 .../splunk/springboot/SplunkComponentAutoConfiguration.java        | 2 ++
 .../batch/springboot/SpringBatchComponentAutoConfiguration.java    | 2 ++
 .../springboot/SpringIntegrationComponentAutoConfiguration.java    | 2 ++
 .../springboot/SpringLdapComponentAutoConfiguration.java           | 2 ++
 .../redis/springboot/RedisComponentAutoConfiguration.java          | 2 ++
 .../event/springboot/EventComponentAutoConfiguration.java          | 2 ++
 .../ws/springboot/SpringWebserviceComponentAutoConfiguration.java  | 2 ++
 .../component/sql/springboot/SqlComponentAutoConfiguration.java    | 2 ++
 .../sql/stored/springboot/SqlStoredComponentAutoConfiguration.java | 2 ++
 .../component/ssh/springboot/SshComponentAutoConfiguration.java    | 2 ++
 .../component/stax/springboot/StAXComponentAutoConfiguration.java  | 2 ++
 .../stomp/springboot/StompComponentAutoConfiguration.java          | 2 ++
 .../stream/springboot/StreamComponentAutoConfiguration.java        | 2 ++
 .../springboot/StringTemplateComponentAutoConfiguration.java       | 2 ++
 .../telegram/springboot/TelegramComponentAutoConfiguration.java    | 2 ++
 .../twitter/springboot/TwitterComponentAutoConfiguration.java      | 2 ++
 .../undertow/springboot/UndertowComponentAutoConfiguration.java    | 2 ++
 .../velocity/springboot/VelocityComponentAutoConfiguration.java    | 2 ++
 .../vertx/springboot/VertxComponentAutoConfiguration.java          | 2 ++
 .../weather/springboot/WeatherComponentAutoConfiguration.java      | 2 ++
 .../websocket/springboot/WebsocketComponentAutoConfiguration.java  | 2 ++
 .../xmlrpc/springboot/XmlRpcComponentAutoConfiguration.java        | 2 ++
 .../springboot/XmlSignatureComponentAutoConfiguration.java         | 2 ++
 .../component/xmpp/springboot/XmppComponentAutoConfiguration.java  | 2 ++
 .../yammer/springboot/YammerComponentAutoConfiguration.java        | 2 ++
 .../zookeeper/springboot/ZooKeeperComponentAutoConfiguration.java  | 2 ++
 .../camel/maven/packaging/SpringBootAutoConfigurationMojo.java     | 2 ++
 200 files changed, 400 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java b/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java
index 1226bd1..9ecf975 100644
--- a/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java
+++ b/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(AhcComponentConfiguration.class)
 public class AhcComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "ahc-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(AhcComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java b/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java
index 9543211..f63cc7c 100644
--- a/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java
+++ b/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(WsComponentConfiguration.class)
 public class WsComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = {"ahc-ws-component", "ahc-wss-component"})
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(WsComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java b/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java
index b69cc3d..d425353 100644
--- a/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java
+++ b/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(AMQPComponentConfiguration.class)
 public class AMQPComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "amqp-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(AMQPComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java
index 7d3790ed..4f7ba5b 100644
--- a/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java
+++ b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(ApnsComponentConfiguration.class)
 public class ApnsComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "apns-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(ApnsComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java b/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java
index fea8d83..1faa558 100644
--- a/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java
+++ b/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class AsteriskComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "asterisk-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(AsteriskComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java b/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java
index 905e553..c1d7b1f 100644
--- a/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java
+++ b/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class AtmosComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "atmos-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(AtmosComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java b/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java
index 7e032da..99a12f6 100644
--- a/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java
+++ b/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(WebsocketComponentConfiguration.class)
 public class WebsocketComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "atmosphere-websocket-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(WebsocketComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java b/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java
index b35accc..c39a6c4 100644
--- a/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java
+++ b/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class AtomComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "atom-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(AtomComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-avro-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-avro-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java b/components-starter/camel-avro-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java
index b53a073..1b60f16 100644
--- a/components-starter/camel-avro-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java
+++ b/components-starter/camel-avro-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(AvroComponentConfiguration.class)
 public class AvroComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "avro-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(AvroComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java
index 46463dc..6a1bc5d 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class CwComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-cw-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(CwComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java
index 3e33041..4782566 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class DdbComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-ddb-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(DdbComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java
index 43a76f5..51d8ef5 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class DdbStreamComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-ddbstream-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(DdbStreamComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java
index 8276f76..5ec7a17 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class EC2ComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-ec2-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(EC2Component.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java
index 76f1753..402f43d 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class KinesisComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-kinesis-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(KinesisComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java
index 20625b7..192ebf0 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class S3ComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-s3-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(S3Component.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java
index ebf5701..784b48d 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class SdbComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-sdb-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(SdbComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java
index c056df3..da577b8 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class SesComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-ses-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(SesComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java
index eb7f638..3a89352 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class SnsComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-sns-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(SnsComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java
index b4ca9d6..d898529 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class SqsComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-sqs-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(SqsComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java
index b762014..41c5993 100644
--- a/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class SWFComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "aws-swf-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(SWFComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java b/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java
index d4275b0..2aef002 100644
--- a/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java
+++ b/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class BeanValidatorComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "bean-validator-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(BeanValidatorComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java b/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java
index aab843d..9f283d2 100644
--- a/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java
+++ b/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(BeanstalkComponentConfiguration.class)
 public class BeanstalkComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "beanstalk-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(BeanstalkComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java b/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java
index ba012fb..776f6b2 100644
--- a/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java
+++ b/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class BonitaComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "bonita-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(BonitaComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java b/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java
index b349834..c71e9e1 100644
--- a/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java
+++ b/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(BoxComponentConfiguration.class)
 public class BoxComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "box-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(BoxComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java b/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java
index 1539347..9136399 100644
--- a/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java
+++ b/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(BraintreeComponentConfiguration.class)
 public class BraintreeComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "braintree-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(BraintreeComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-cache-starter/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-cache-starter/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentAutoConfiguration.java b/components-starter/camel-cache-starter/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentAutoConfiguration.java
index 7754e8f..e2f577e 100644
--- a/components-starter/camel-cache-starter/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentAutoConfiguration.java
+++ b/components-starter/camel-cache-starter/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(CacheComponentConfiguration.class)
 public class CacheComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "cache-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(CacheComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java b/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java
index 4df6028..40cb722 100644
--- a/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java
+++ b/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class CassandraComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "cql-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(CassandraComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-chronicle-starter/src/main/java/org/apache/camel/component/chronicle/engine/springboot/ChronicleEngineComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-chronicle-starter/src/main/java/org/apache/camel/component/chronicle/engine/springboot/ChronicleEngineComponentAutoConfiguration.java b/components-starter/camel-chronicle-starter/src/main/java/org/apache/camel/component/chronicle/engine/springboot/ChronicleEngineComponentAutoConfiguration.java
index 276bd00..416b32f 100644
--- a/components-starter/camel-chronicle-starter/src/main/java/org/apache/camel/component/chronicle/engine/springboot/ChronicleEngineComponentAutoConfiguration.java
+++ b/components-starter/camel-chronicle-starter/src/main/java/org/apache/camel/component/chronicle/engine/springboot/ChronicleEngineComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class ChronicleEngineComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "chronicle-engine-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(ChronicleEngineComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java b/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java
index 6736bb3..76a5ef4 100644
--- a/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java
+++ b/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class ChunkComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "chunk-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(ChunkComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java b/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java
index e8b50cc..96f44e6 100644
--- a/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java
+++ b/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class CMComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "cm-sms-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(CMComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java b/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java
index f4017ca..332b3ec 100644
--- a/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java
+++ b/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class CMISComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "cmis-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(CMISComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
index b5a6776..30eb83c 100644
--- a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
+++ b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class CoAPComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "coap-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(CoAPComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java b/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java
index 5ef7fb6..5bfcdce 100644
--- a/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java
+++ b/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(CometdComponentConfiguration.class)
 public class CometdComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = {"cometd-component", "cometds-component"})
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(CometdComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java b/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java
index 657b08e..1ddca31 100644
--- a/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java
+++ b/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class ConsulComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "consul-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(ConsulComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-context-starter/src/main/java/org/apache/camel/component/context/springboot/QualifiedContextComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-context-starter/src/main/java/org/apache/camel/component/context/springboot/QualifiedContextComponentAutoConfiguration.java b/components-starter/camel-context-starter/src/main/java/org/apache/camel/component/context/springboot/QualifiedContextComponentAutoConfiguration.java
index 7390a3b..c1ac8a6 100644
--- a/components-starter/camel-context-starter/src/main/java/org/apache/camel/component/context/springboot/QualifiedContextComponentAutoConfiguration.java
+++ b/components-starter/camel-context-starter/src/main/java/org/apache/camel/component/context/springboot/QualifiedContextComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class QualifiedContextComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "context-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(QualifiedContextComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java
index 2983745..53abd7e 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class BeanComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "bean-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(BeanComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java
index 889383f..d75da6f 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class ClassComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "class-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(ClassComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentAutoConfiguration.java
index 83d186e..ce78eb1 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/binding/springboot/BindingNameComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class BindingNameComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "binding-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(BindingNameComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java
index 2cf2a08..9aa85c0 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class BrowseComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "browse-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(BrowseComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java
index 0a59034..d9a7aaa 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class ControlBusComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "controlbus-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(ControlBusComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/dataformat/springboot/DataFormatComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/dataformat/springboot/DataFormatComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/dataformat/springboot/DataFormatComponentAutoConfiguration.java
index c29f1c8..c574bdc 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/dataformat/springboot/DataFormatComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/dataformat/springboot/DataFormatComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class DataFormatComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "dataformat-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(DataFormatComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/dataset/springboot/DataSetComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/dataset/springboot/DataSetComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/dataset/springboot/DataSetComponentAutoConfiguration.java
index cc62bc0..e3d205c 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/dataset/springboot/DataSetComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/dataset/springboot/DataSetComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class DataSetComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "dataset-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(DataSetComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/direct/springboot/DirectComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/direct/springboot/DirectComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/direct/springboot/DirectComponentAutoConfiguration.java
index 74b170c..07aa4d9 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/direct/springboot/DirectComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/direct/springboot/DirectComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(DirectComponentConfiguration.class)
 public class DirectComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "direct-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(DirectComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/directvm/springboot/DirectVmComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/directvm/springboot/DirectVmComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/directvm/springboot/DirectVmComponentAutoConfiguration.java
index fc251e5..33a1e2a 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/directvm/springboot/DirectVmComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/directvm/springboot/DirectVmComponentAutoConfiguration.java
@@ -34,6 +34,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -46,6 +47,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @EnableConfigurationProperties(DirectVmComponentConfiguration.class)
 public class DirectVmComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "direct-vm-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(DirectVmComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/file/springboot/FileComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/file/springboot/FileComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/file/springboot/FileComponentAutoConfiguration.java
index 84efcd7..8b82256 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/file/springboot/FileComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/file/springboot/FileComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class FileComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "file-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(FileComponent.class)

http://git-wip-us.apache.org/repos/asf/camel/blob/03b6fe78/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/language/springboot/LanguageComponentAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/language/springboot/LanguageComponentAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/language/springboot/LanguageComponentAutoConfiguration.java
index ec9f25a..a67110a 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/language/springboot/LanguageComponentAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/component/language/springboot/LanguageComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.context.annotation.Conditional;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
 /**
@@ -41,6 +42,7 @@ import org.springframework.core.type.AnnotatedTypeMetadata;
 @AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
 public class LanguageComponentAutoConfiguration {
 
+    @Lazy
     @Bean(name = "language-component")
     @ConditionalOnClass(CamelContext.class)
     @ConditionalOnMissingBean(LanguageComponent.class)