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

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

commit 27d6d21ebf73ea1f2d771c5676710f05f0b2f8f4
Author: David Jencks <[email protected]>
AuthorDate: Wed Oct 6 15:56:15 2021 -0700

    move existing files under spring-boot component
---
 docs/spring-boot/antora.yml                        |  25 +
 docs/spring-boot/modules/ROOT/nav.adoc             |   4 +
 docs/spring-boot/modules/ROOT/pages/index.adoc     | 101 +++
 docs/spring-boot/modules/ROOT/pages/list.adoc      | 907 +++++++++++++++++++++
 .../modules/ROOT/pages/spring-boot-xml.adoc        |   9 +
 .../modules/ROOT/pages/spring-boot.adoc            | 726 +++++++++++++++++
 6 files changed, 1772 insertions(+)

diff --git a/docs/spring-boot/antora.yml b/docs/spring-boot/antora.yml
new file mode 100644
index 0000000..f89cb25
--- /dev/null
+++ b/docs/spring-boot/antora.yml
@@ -0,0 +1,25 @@
+#
+# 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.
+#
+
+name: camel-spring-boot
+title: Camel Spring Boot
+version: latest
+prerelease: true
+display_version: 3.13.x (Prerelease)
+nav:
+- modules/ROOT/nav.adoc
+
diff --git a/docs/spring-boot/modules/ROOT/nav.adoc 
b/docs/spring-boot/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..38fa188
--- /dev/null
+++ b/docs/spring-boot/modules/ROOT/nav.adoc
@@ -0,0 +1,4 @@
+* xref:index.adoc[About]
+* xref:spring-boot.adoc[Camel Context starter]
+* xref:list.adoc[List of starters]
+
diff --git a/docs/spring-boot/modules/ROOT/pages/index.adoc 
b/docs/spring-boot/modules/ROOT/pages/index.adoc
new file mode 100644
index 0000000..052f62f
--- /dev/null
+++ b/docs/spring-boot/modules/ROOT/pages/index.adoc
@@ -0,0 +1,101 @@
+= Apache Camel Spring Boot starters
+
+Camel support for Spring Boot provides auto-configuration of the Camel and 
starters for many Camel xref:components::index.adoc[components]. Our 
opinionated auto-configuration of the Camel context auto-detects Camel routes 
available in the Spring context and registers the key Camel utilities (like 
producer template, consumer template and the type converter) as beans.
+
+Get started by adding the Camel Spring Boot BOM to your Maven `pom.xml` file.
+
+[source,xml]
+----
+<dependencyManagement>
+
+    <dependencies>
+        <!-- Camel BOM -->
+        <dependency>
+            <groupId>org.apache.camel.springboot</groupId>
+            <artifactId>camel-spring-boot-bom</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>import</scope>
+        </dependency>
+        <!-- ... other BOMs or dependencies ... -->
+    </dependencies>
+
+</dependencyManagement>
+----
+
+The `camel-spring-boot-bom` is a basic BOM that only holds the list of Camel 
Spring Boot starter JARs.
+
+Next, add the xref:spring-boot.adoc[Camel Spring Boot starter] to startup the 
xref:manual::camelcontext.adoc[Camel Context].
+
+[source,xml]
+----
+    <dependencies>
+        <!-- Camel Starter -->
+        <dependency>
+            <groupId>org.apache.camel.springboot</groupId>
+            <artifactId>camel-spring-boot-starter</artifactId>
+        </dependency>
+        <!-- ... other dependencies ... -->
+    </dependencies>
+----
+
+Also add any xref:list.adoc[component starters] your Spring Boot application 
requires. For example this adds the 
xref:components::activemq-component.adoc#_spring_boot_auto_configuration[auto-configuration
 starter] for the xref:components::activemq-component.adoc[ActiveMQ component].
+
+[source,xml]
+----
+    <dependencies>
+        <!-- ... other dependencies ... -->
+        <dependency>
+            <groupId>org.apache.camel.springboot</groupId>
+            <artifactId>camel-activemq-starter</artifactId>
+        </dependency>
+    </dependencies>
+----
+
+== Camel Spring Boot BOM vs Camel Spring Boot Dependencies BOM
+
+There is a curated `camel-spring-boot-dependencies` which is a generated BOM 
that has adjusted the JARs that both Spring Boot
+and Apache Camel may use to use single shared version that will not conflict. 
This BOM is what is used to test camel-spring-boot itself.
+However Spring Boot users may want to use _pure_ Camel dependencies and hence 
why you can use `camel-spring-boot-bom` that only has the
+Camel starter JARs as managed dependencies. This may lead to a classpath 
conflict if a 3rd party JAR from Spring Boot is not compatible
+with a Camel component.
+
+== Making sure Camel context is running in standalone Spring Boot
+
+To ensure the Spring Boot application keeps running until being stopped or the 
JVM terminated, typically only need when running Spring Boot standalone, i.e. 
not with `spring-boot-starter-web` when the web container keeps the JVM 
running, set the `camel.springboot.main-run-controller=true` property in your 
configuration. For example in `application.properties`.
+
+[source]
+----
+# to keep the JVM running
+camel.springboot.main-run-controller = true
+----
+
+== Spring Boot configuration support
+
+Each xref:list.adoc[component starter] lists configuration parameters you can 
configure in the standard `application.properties` or `application.yml` files. 
These parameters have the form of 
`camel.component.[component-name].[parameter]`. For example to configure the 
URL of the ActiveMQ broker you can set:
+
+[source]
+----
+camel.component.activemq.broker-url=tcp://localhost:61616
+----
+
+== Adding Camel routes
+
+Camel xref:manual::routes.adoc[routes] are detected in the Spring application 
context, for example a route annotated with 
`org.springframework.stereotype.Component` will be loaded, added to the Camel 
context and run.
+
+[source,java]
+----
+import org.apache.camel.builder.RouteBuilder;
+import org.springframework.stereotype.Component;
+
+@Component
+public class MyRoute extends RouteBuilder {
+
+    @Override
+    public void configure() throws Exception {
+        from("...")
+            .to("...");
+    }
+
+}
+----
diff --git a/docs/spring-boot/modules/ROOT/pages/list.adoc 
b/docs/spring-boot/modules/ROOT/pages/list.adoc
new file mode 100644
index 0000000..a53dc62
--- /dev/null
+++ b/docs/spring-boot/modules/ROOT/pages/list.adoc
@@ -0,0 +1,907 @@
+= Component Starters
+
+Apache Camel Spring Boot supports the following Camel artifacts as Spring Boot 
Starters
+
+== Camel Components
+
+// components: START
+Number of Camel components: 338 in 274 JAR artifacts (1 deprecated)
+
+[width="100%",cols="4,3,3,3,6",options="header"]
+|===
+| Component | Artifact | Support Level | Since | Description
+
+| xref:latest@components::activemq-component.adoc[ActiveMQ] | 
camel-activemq-starter | Stable | 1.0 | Send messages to (or consume from) 
Apache ActiveMQ. This component extends the Camel JMS component.
+
+| xref:latest@components::amqp-component.adoc[AMQP] | camel-amqp-starter | 
Stable | 1.2 | Messaging with AMQP protocol using Apache QPid Client.
+
+| xref:latest@components::arangodb-component.adoc[ArangoDb] | 
camel-arangodb-starter | Stable | 3.5 | Perform operations on ArangoDb when 
used as a Document Database, or as a Graph Database
+
+| xref:latest@components::as2-component.adoc[AS2] | camel-as2-starter | Stable 
| 2.22 | Transfer data securely and reliably using the AS2 protocol (RFC4130).
+
+| xref:latest@components::asterisk-component.adoc[Asterisk] | 
camel-asterisk-starter | Stable | 2.18 | Interact with Asterisk PBX Server.
+
+| xref:latest@components::ahc-component.adoc[Async HTTP Client (AHC)] | 
camel-ahc-starter | Stable | 2.8 | Call external HTTP services using Async Http 
Client.
+
+| xref:latest@components::ahc-ws-component.adoc[Async HTTP Client (AHC) 
Websocket] | camel-ahc-ws-starter | Stable | 2.14 | Exchange data with external 
Websocket servers using Async Http Client.
+
+| xref:latest@components::atlasmap-component.adoc[AtlasMap] | 
camel-atlasmap-starter | Stable | 3.7 | Transforms the message using an 
AtlasMap transformation.
+
+| xref:latest@components::atmos-component.adoc[Atmos] | camel-atmos-starter | 
Stable | 2.15 | Integrate with EMC's ViPR object data services using the Atmos 
Client.
+
+| xref:latest@components::atmosphere-websocket-component.adoc[Atmosphere 
Websocket] | camel-atmosphere-websocket-starter | Stable | 2.14 | Expose 
WebSocket endpoints using the Atmosphere framework.
+
+| xref:latest@components::atom-component.adoc[Atom] | camel-atom-starter | 
Stable | 1.2 | Poll Atom RSS feeds.
+
+| xref:latest@components::atomix-map-component.adoc[Atomix Map] | 
camel-atomix-starter | Stable | 2.20 | Access Atomix's distributed map.
+
+| xref:latest@components::atomix-messaging-component.adoc[Atomix Messaging] | 
camel-atomix-starter | Stable | 2.20 | Access Atomix's group messaging.
+
+| xref:latest@components::atomix-multimap-component.adoc[Atomix MultiMap] | 
camel-atomix-starter | Stable | 2.20 | Access Atomix's distributed multi map.
+
+| xref:latest@components::atomix-queue-component.adoc[Atomix Queue] | 
camel-atomix-starter | Stable | 2.20 | Access Atomix's distributed queue.
+
+| xref:latest@components::atomix-set-component.adoc[Atomix Set] | 
camel-atomix-starter | Stable | 2.20 | Access Atomix's distributed set.
+
+| xref:latest@components::atomix-value-component.adoc[Atomix Value] | 
camel-atomix-starter | Stable | 2.20 | Access Atomix's distributed value.
+
+| xref:latest@components::avro-component.adoc[Avro RPC] | 
camel-avro-rpc-starter | Stable | 2.10 | Produce or consume Apache Avro RPC 
services.
+
+| xref:latest@components::aws2-athena-component.adoc[AWS Athena] | 
camel-aws2-athena-starter | Stable | 3.4 | Access AWS Athena service using AWS 
SDK version 2.x.
+
+| xref:latest@components::aws2-cw-component.adoc[AWS CloudWatch] | 
camel-aws2-cw-starter | Stable | 3.1 | Sending metrics to AWS CloudWatch using 
AWS SDK version 2.x.
+
+| xref:latest@components::aws2-ddb-component.adoc[AWS DynamoDB] | 
camel-aws2-ddb-starter | Stable | 3.1 | Store and retrieve data from AWS 
DynamoDB service using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-ddbstream-component.adoc[AWS DynamoDB Streams] 
| camel-aws2-ddb-starter | Stable | 3.1 | Receive messages from AWS DynamoDB 
Stream service using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-ec2-component.adoc[AWS Elastic Compute Cloud 
(EC2)] | camel-aws2-ec2-starter | Stable | 3.1 | Manage AWS EC2 instances using 
AWS SDK version 2.x.
+
+| xref:latest@components::aws2-ecs-component.adoc[AWS Elastic Container 
Service (ECS)] | camel-aws2-ecs-starter | Stable | 3.1 | Manage AWS ECS cluster 
instances using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-eks-component.adoc[AWS Elastic Kubernetes 
Service (EKS)] | camel-aws2-eks-starter | Stable | 3.1 | Manage AWS EKS cluster 
instances using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-eventbridge-component.adoc[AWS Eventbridge] | 
camel-aws2-eventbridge-starter | Stable | 3.6 | Manage AWS Eventbridge cluster 
instances using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-iam-component.adoc[AWS Identity and Access 
Management (IAM)] | camel-aws2-iam-starter | Stable | 3.1 | Manage AWS IAM 
instances using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-kms-component.adoc[AWS Key Management Service 
(KMS)] | camel-aws2-kms-starter | Stable | 3.1 | Manage keys stored in AWS KMS 
instances using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-kinesis-component.adoc[AWS Kinesis] | 
camel-aws2-kinesis-starter | Stable | 3.2 | Consume and produce records from 
and to AWS Kinesis Streams using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-kinesis-firehose-component.adoc[AWS Kinesis 
Firehose] | camel-aws2-kinesis-starter | Stable | 3.2 | Produce data to AWS 
Kinesis Firehose streams using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-lambda-component.adoc[AWS Lambda] | 
camel-aws2-lambda-starter | Stable | 3.2 | Manage and invoke AWS Lambda 
functions using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-msk-component.adoc[AWS Managed Streaming for 
Apache Kafka (MSK)] | camel-aws2-msk-starter | Stable | 3.1 | Manage AWS MSK 
instances using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-mq-component.adoc[AWS MQ] | 
camel-aws2-mq-starter | Stable | 3.1 | Manage AWS MQ instances using AWS SDK 
version 2.x.
+
+| xref:latest@components::aws2-s3-component.adoc[AWS S3 Storage Service] | 
camel-aws2-s3-starter | Stable | 3.2 | Store and retrieve objects from AWS S3 
Storage Service using AWS SDK version 2.x.
+
+| xref:latest@components::aws-secrets-manager-component.adoc[AWS Secrets 
Manager] | camel-aws-secrets-manager-starter | Stable | 3.9 | Manage AWS 
Secrets Manager services using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-sts-component.adoc[AWS Security Token Service 
(STS)] | camel-aws2-sts-starter | Stable | 3.5 | Manage AWS STS cluster 
instances using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-ses-component.adoc[AWS Simple Email Service 
(SES)] | camel-aws2-ses-starter | Stable | 3.1 | Send e-mails through AWS SES 
service using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-sns-component.adoc[AWS Simple Notification 
System (SNS)] | camel-aws2-sns-starter | Stable | 3.1 | Send messages to an AWS 
Simple Notification Topic using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-sqs-component.adoc[AWS Simple Queue Service 
(SQS)] | camel-aws2-sqs-starter | Stable | 3.1 | Send and receive messages 
to/from AWS SQS service using AWS SDK version 2.x.
+
+| xref:latest@components::aws2-translate-component.adoc[AWS Translate] | 
camel-aws2-translate-starter | Stable | 3.1 | Translate texts using AWS 
Translate and AWS SDK version 2.x.
+
+| xref:latest@components::azure-cosmosdb-component.adoc[Azure CosmosDB] | 
camel-azure-cosmosdb-starter | Stable | 3.10 | To read and write records to the 
CosmosDB database on Azure cloud platform.
+
+| xref:latest@components::azure-eventhubs-component.adoc[Azure Event Hubs] | 
camel-azure-eventhubs-starter | Stable | 3.5 | The azure-eventhubs component 
that integrates Azure Event Hubs using AMQP protocol. Azure EventHubs is a 
highly scalable publish-subscribe service that can ingest millions of events 
per second and stream them to multiple consumers.
+
+| xref:latest@components::azure-servicebus-component.adoc[Azure ServiceBus] | 
camel-azure-servicebus-starter | Preview | 3.12 | The azure-servicebus 
component that integrates Azure ServiceBus. Azure ServiceBus is a fully managed 
enterprise integration message broker. Service Bus can decouple applications 
and services. Service Bus offers a reliable and secure platform for 
asynchronous transfer of data and state. Data is transferred between different 
applications and services using messages.
+
+| xref:latest@components::azure-storage-blob-component.adoc[Azure Storage Blob 
Service] | camel-azure-storage-blob-starter | Stable | 3.3 | Store and retrieve 
blobs from Azure Storage Blob Service using SDK v12.
+
+| xref:latest@components::azure-storage-datalake-component.adoc[Azure storage 
datalake service] | camel-azure-storage-datalake-starter | Stable | 3.8 | Camel 
Azure Datalake Gen2 Component
+
+| xref:latest@components::azure-storage-queue-component.adoc[Azure Storage 
Queue Service] | camel-azure-storage-queue-starter | Stable | 3.3 | The 
azure-storage-queue component is used for storing and retrieving the messages 
to/from Azure Storage Queue using Azure SDK v12.
+
+| xref:latest@components::bean-component.adoc[Bean] | camel-bean-starter | 
Stable | 1.0 | Invoke methods of Java beans stored in Camel registry.
+
+| xref:latest@components::bean-validator-component.adoc[Bean Validator] | 
camel-bean-validator-starter | Stable | 2.3 | Validate the message body using 
the Java Bean Validation API.
+
+| xref:latest@components::beanstalk-component.adoc[Beanstalk] | 
camel-beanstalk-starter | Stable | 2.15 | Retrieve and post-process Beanstalk 
jobs.
+
+| xref:latest@components::bonita-component.adoc[Bonita] | camel-bonita-starter 
| Stable | 2.19 | Communicate with a remote Bonita BPM process engine.
+
+| xref:latest@components::box-component.adoc[Box] | camel-box-starter | Stable 
| 2.14 | Upload, download and manage files, folders, groups, collaborations, 
etc. on box.com.
+
+| xref:latest@components::braintree-component.adoc[Braintree] | 
camel-braintree-starter | Stable | 2.17 | Process payments using Braintree 
Payments.
+
+| xref:latest@components::browse-component.adoc[Browse] | camel-browse-starter 
| Stable | 1.3 | Inspect the messages received on endpoints supporting 
BrowsableEndpoint.
+
+| xref:latest@components::caffeine-cache-component.adoc[Caffeine Cache] | 
camel-caffeine-starter | Stable | 2.20 | Perform caching operations using 
Caffeine Cache.
+
+| xref:latest@components::caffeine-loadcache-component.adoc[Caffeine 
LoadCache] | camel-caffeine-starter | Stable | 2.20 | Perform caching 
operations using Caffeine Cache with an attached CacheLoader.
+
+| xref:latest@components::cql-component.adoc[Cassandra CQL] | 
camel-cassandraql-starter | Stable | 2.15 | Integrate with Cassandra 2.0 using 
the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by 
DataStax.
+
+| xref:latest@components::chatscript-component.adoc[ChatScript] | 
camel-chatscript-starter | Stable | 3.0 | Chat with a ChatScript Server.
+
+| xref:latest@components::chunk-component.adoc[Chunk] | camel-chunk-starter | 
Stable | 2.15 | Transform messages using Chunk templating engine.
+
+| xref:latest@components::class-component.adoc[Class] | camel-bean-starter | 
Stable | 2.4 | Invoke methods of Java beans specified by class name.
+
+| xref:latest@components::cm-sms-component.adoc[CM SMS Gateway] | 
camel-cm-sms-starter | Stable | 2.18 | Send SMS messages via CM SMS Gateway.
+
+| xref:latest@components::cmis-component.adoc[CMIS] | camel-cmis-starter | 
Stable | 2.11 | Read and write data from to/from a CMIS compliant content 
repositories.
+
+| xref:latest@components::coap-component.adoc[CoAP] | camel-coap-starter | 
Stable | 2.16 | Send and receive messages to/from COAP capable devices.
+
+| xref:latest@components::cometd-component.adoc[CometD] | camel-cometd-starter 
| Stable | 2.0 | Offers publish/subscribe, peer-to-peer (via a server), and RPC 
style messaging using the CometD/Bayeux protocol.
+
+| xref:latest@components::consul-component.adoc[Consul] | camel-consul-starter 
| Stable | 2.18 | Integrate with Consul service discovery and configuration 
store.
+
+| xref:latest@components::controlbus-component.adoc[Control Bus] | 
camel-controlbus-starter | Stable | 2.11 | Manage and monitor Camel routes.
+
+| xref:latest@components::corda-component.adoc[Corda] | camel-corda-starter | 
Stable | 2.23 | Perform operations against Corda blockchain platform using 
corda-rpc library.
+
+| xref:latest@components::couchbase-component.adoc[Couchbase] | 
camel-couchbase-starter | Stable | 2.19 | Query Couchbase Views with a poll 
strategy and/or perform various operations against Couchbase databases.
+
+| xref:latest@components::couchdb-component.adoc[CouchDB] | 
camel-couchdb-starter | Stable | 2.11 | Consume changesets for inserts, updates 
and deletes in a CouchDB database, as well as get, save, update and delete 
documents from a CouchDB database.
+
+| xref:latest@components::cron-component.adoc[Cron] | camel-cron-starter | 
Stable | 3.1 | A generic interface for triggering events at times specified 
through the Unix cron syntax.
+
+| xref:latest@components::crypto-component.adoc[Crypto (JCE)] | 
camel-crypto-starter | Stable | 2.3 | Sign and verify exchanges using the 
Signature Service of the Java Cryptographic Extension (JCE).
+
+| xref:latest@components::cxf-component.adoc[CXF] | camel-cxf-starter | Stable 
| 1.0 | Expose SOAP WebServices using Apache CXF or connect to external 
WebServices using CXF WS client.
+
+| xref:latest@components::cxfrs-component.adoc[CXF-RS] | camel-cxf-starter | 
Stable | 2.0 | Expose JAX-RS REST services using Apache CXF or connect to 
external REST services using CXF REST client.
+
+| xref:latest@components::dataformat-component.adoc[Data Format] | 
camel-dataformat-starter | Stable | 2.12 | Use a Camel Data Format as a regular 
Camel Component.
+
+| xref:latest@components::dataset-component.adoc[Dataset] | 
camel-dataset-starter | Stable | 1.3 | Provide data for load and soak testing 
of your Camel application.
+
+| xref:latest@components::dataset-test-component.adoc[DataSet Test] | 
camel-dataset-starter | Stable | 1.3 | Extends the mock component by pulling 
messages from another endpoint on startup to set the expected message bodies.
+
+| xref:latest@components::debezium-mongodb-component.adoc[Debezium MongoDB 
Connector] | camel-debezium-mongodb-starter | Stable | 3.0 | Capture changes 
from a MongoDB database.
+
+| xref:latest@components::debezium-mysql-component.adoc[Debezium MySQL 
Connector] | camel-debezium-mysql-starter | Stable | 3.0 | Capture changes from 
a MySQL database.
+
+| xref:latest@components::debezium-postgres-component.adoc[Debezium 
PostgresSQL Connector] | camel-debezium-postgres-starter | Stable | 3.0 | 
Capture changes from a PostgresSQL database.
+
+| xref:latest@components::debezium-sqlserver-component.adoc[Debezium SQL 
Server Connector] | camel-debezium-sqlserver-starter | Stable | 3.0 | Capture 
changes from an SQL Server database.
+
+| xref:latest@components::djl-component.adoc[Deep Java Library] | 
camel-djl-starter | Stable | 3.3 | Infer Deep Learning models from message 
exchanges data using Deep Java Library (DJL).
+
+| xref:latest@components::digitalocean-component.adoc[DigitalOcean] | 
camel-digitalocean-starter | Stable | 2.19 | Manage Droplets and resources 
within the DigitalOcean cloud.
+
+| xref:latest@components::direct-component.adoc[Direct] | camel-direct-starter 
| Stable | 1.0 | Call another endpoint from the same Camel Context 
synchronously.
+
+| xref:latest@components::direct-vm-component.adoc[Direct VM] | 
camel-directvm-starter | Stable | 2.10 | Call another endpoint from any Camel 
Context in the same JVM synchronously.
+
+| xref:latest@components::disruptor-component.adoc[Disruptor] | 
camel-disruptor-starter | Stable | 2.12 | Provides asynchronous SEDA behavior 
using LMAX Disruptor.
+
+| xref:latest@components::dns-component.adoc[DNS] | camel-dns-starter | Stable 
| 2.7 | Perform DNS queries using DNSJava.
+
+| xref:latest@components::docker-component.adoc[Docker] | camel-docker-starter 
| Stable | 2.15 | Manage Docker containers.
+
+| xref:latest@components::dozer-component.adoc[Dozer] | camel-dozer-starter | 
Stable | 2.15 | Map between Java beans using the Dozer mapping library.
+
+| xref:latest@components::drill-component.adoc[Drill] | camel-drill-starter | 
Stable | 2.19 | Perform queries against an Apache Drill cluster.
+
+| xref:latest@components::dropbox-component.adoc[Dropbox] | 
camel-dropbox-starter | Stable | 2.14 | Upload, download and manage files, 
folders, groups, collaborations, etc on Dropbox.
+
+| xref:latest@components::ehcache-component.adoc[Ehcache] | 
camel-ehcache-starter | Stable | 2.18 | Perform caching operations using 
Ehcache.
+
+| xref:latest@components::elasticsearch-rest-component.adoc[Elasticsearch 
Rest] | camel-elasticsearch-rest-starter | Stable | 2.21 | Send requests to 
ElasticSearch via REST API
+
+| xref:latest@components::elsql-component.adoc[ElSQL] | camel-elsql-starter | 
Stable | 2.16 | Use ElSql to define SQL queries. Extends the SQL Component.
+
+| xref:latest@components::etcd-keys-component.adoc[Etcd Keys] | 
camel-etcd-starter | Stable | 2.18 | Get, set or delete keys in etcd key-value 
store.
+
+| xref:latest@components::etcd-stats-component.adoc[Etcd Stats] | 
camel-etcd-starter | Stable | 2.18 | Access etcd cluster statistcs.
+
+| xref:latest@components::etcd-watch-component.adoc[Etcd Watch] | 
camel-etcd-starter | Stable | 2.18 | Watch specific etcd keys or directories 
for changes.
+
+| xref:latest@components::exec-component.adoc[Exec] | camel-exec-starter | 
Stable | 2.3 | Execute commands on the underlying operating system.
+
+| xref:latest@components::facebook-component.adoc[Facebook] | 
camel-facebook-starter | Stable | 2.14 | Send requests to Facebook APIs 
supported by Facebook4J.
+
+| xref:latest@components::fhir-component.adoc[FHIR] | camel-fhir-starter | 
Stable | 2.23 | Exchange information in the healthcare domain using the FHIR 
(Fast Healthcare Interoperability Resources) standard.
+
+| xref:latest@components::file-component.adoc[File] | camel-file-starter | 
Stable | 1.0 | Read and write files.
+
+| xref:latest@components::file-watch-component.adoc[File Watch] | 
camel-file-watch-starter | Stable | 3.0 | Get notified about file events in a 
directory using java.nio.file.WatchService.
+
+| xref:latest@components::flatpack-component.adoc[Flatpack] | 
camel-flatpack-starter | Stable | 1.4 | Parse fixed width and delimited files 
using the FlatPack library.
+
+| xref:latest@components::flink-component.adoc[Flink] | camel-flink-starter | 
Stable | 2.18 | Send DataSet jobs to an Apache Flink cluster.
+
+| xref:latest@components::fop-component.adoc[FOP] | camel-fop-starter | Stable 
| 2.10 | Render messages into PDF and other output formats supported by Apache 
FOP.
+
+| xref:latest@components::freemarker-component.adoc[Freemarker] | 
camel-freemarker-starter | Stable | 2.10 | Transform messages using FreeMarker 
templates.
+
+| xref:latest@components::ftp-component.adoc[FTP] | camel-ftp-starter | Stable 
| 1.1 | Upload and download files to/from FTP servers.
+
+| xref:latest@components::ftps-component.adoc[FTPS] | camel-ftp-starter | 
Stable | 2.2 | Upload and download files to/from FTP servers supporting the 
FTPS protocol.
+
+| xref:latest@components::ganglia-component.adoc[Ganglia] | 
camel-ganglia-starter | Stable | 2.15 | Send metrics to Ganglia monitoring 
system.
+
+| xref:latest@components::geocoder-component.adoc[Geocoder] | 
camel-geocoder-starter | Stable | 2.12 | Find geocodes (latitude and longitude) 
for a given address or the other way round.
+
+| xref:latest@components::git-component.adoc[Git] | camel-git-starter | Stable 
| 2.16 | Perform operations on git repositories.
+
+| xref:latest@components::github-component.adoc[GitHub] | camel-github-starter 
| Stable | 2.15 | Interact with the GitHub API.
+
+| xref:latest@components::google-bigquery-component.adoc[Google BigQuery] | 
camel-google-bigquery-starter | Stable | 2.20 | Google BigQuery data warehouse 
for analytics.
+
+| xref:latest@components::google-bigquery-sql-component.adoc[Google BigQuery 
Standard SQL] | camel-google-bigquery-starter | Stable | 2.23 | Access Google 
Cloud BigQuery service using SQL queries.
+
+| xref:latest@components::google-calendar-component.adoc[Google Calendar] | 
camel-google-calendar-starter | Stable | 2.15 | Perform various operations on a 
Google Calendar.
+
+| xref:latest@components::google-calendar-stream-component.adoc[Google 
Calendar Stream] | camel-google-calendar-starter | Stable | 2.23 | Poll for 
changes in a Google Calendar.
+
+| xref:latest@components::google-functions-component.adoc[Google Cloud 
Functions] | camel-google-functions-starter | Stable | 3.9 | Manage and invoke 
Google Cloud Functions
+
+| xref:latest@components::google-drive-component.adoc[Google Drive] | 
camel-google-drive-starter | Stable | 2.14 | Manage files in Google Drive.
+
+| xref:latest@components::google-mail-component.adoc[Google Mail] | 
camel-google-mail-starter | Stable | 2.15 | Manage messages in Google Mail.
+
+| xref:latest@components::google-mail-stream-component.adoc[Google Mail 
Stream] | camel-google-mail-starter | Stable | 2.22 | Poll for incoming 
messages in Google Mail.
+
+| xref:latest@components::google-pubsub-component.adoc[Google Pubsub] | 
camel-google-pubsub-starter | Stable | 2.19 | Send and receive messages to/from 
Google Cloud Platform PubSub Service.
+
+| xref:latest@components::google-sheets-component.adoc[Google Sheets] | 
camel-google-sheets-starter | Stable | 2.23 | Manage spreadsheets in Google 
Sheets.
+
+| xref:latest@components::google-sheets-stream-component.adoc[Google Sheets 
Stream] | camel-google-sheets-starter | Stable | 2.23 | Poll for changes in 
Google Sheets.
+
+| xref:latest@components::google-storage-component.adoc[Google Storage] | 
camel-google-storage-starter | Stable | 3.9 | Store and retrieve objects from 
Google Cloud Storage Service using the google-cloud-storage library.
+
+| xref:latest@components::gora-component.adoc[Gora] | camel-gora-starter | 
Stable | 2.14 | Access NoSQL databases using the Apache Gora framework.
+
+| xref:latest@components::grape-component.adoc[Grape] | camel-grape-starter | 
Stable | 2.16 | Fetch, load and manage additional jars dynamically after Camel 
Context was started.
+
+| xref:latest@components::graphql-component.adoc[GraphQL] | 
camel-graphql-starter | Stable | 3.0 | Send GraphQL queries and mutations to 
external systems.
+
+| xref:latest@components::grpc-component.adoc[gRPC] | camel-grpc-starter | 
Stable | 2.19 | Expose gRPC endpoints and access external gRPC endpoints.
+
+| xref:latest@components::guava-eventbus-component.adoc[Guava EventBus] | 
camel-guava-eventbus-starter | Stable | 2.10 | Send and receive messages 
to/from Guava EventBus.
+
+| xref:latest@components::hazelcast-atomicvalue-component.adoc[Hazelcast 
Atomic Number] | camel-hazelcast-starter | Stable | 2.7 | Increment, decrement, 
set, etc. Hazelcast atomic number (a grid wide number).
+
+| xref:latest@components::hazelcast-instance-component.adoc[Hazelcast 
Instance] | camel-hazelcast-starter | Stable | 2.7 | Consume join/leave events 
of a cache instance in a Hazelcast cluster.
+
+| xref:latest@components::hazelcast-list-component.adoc[Hazelcast List] | 
camel-hazelcast-starter | Stable | 2.7 | Perform operations on Hazelcast 
distributed list.
+
+| xref:latest@components::hazelcast-map-component.adoc[Hazelcast Map] | 
camel-hazelcast-starter | Stable | 2.7 | Perform operations on Hazelcast 
distributed map.
+
+| xref:latest@components::hazelcast-multimap-component.adoc[Hazelcast 
Multimap] | camel-hazelcast-starter | Stable | 2.7 | Perform operations on 
Hazelcast distributed multimap.
+
+| xref:latest@components::hazelcast-queue-component.adoc[Hazelcast Queue] | 
camel-hazelcast-starter | Stable | 2.7 | Perform operations on Hazelcast 
distributed queue.
+
+| xref:latest@components::hazelcast-replicatedmap-component.adoc[Hazelcast 
Replicated Map] | camel-hazelcast-starter | Stable | 2.16 | Perform operations 
on Hazelcast replicated map.
+
+| xref:latest@components::hazelcast-ringbuffer-component.adoc[Hazelcast 
Ringbuffer] | camel-hazelcast-starter | Stable | 2.16 | Perform operations on 
Hazelcast distributed ringbuffer.
+
+| xref:latest@components::hazelcast-seda-component.adoc[Hazelcast SEDA] | 
camel-hazelcast-starter | Stable | 2.7 | Asynchronously send/receive Exchanges 
between Camel routes running on potentially distinct JVMs/hosts backed by 
Hazelcast BlockingQueue.
+
+| xref:latest@components::hazelcast-set-component.adoc[Hazelcast Set] | 
camel-hazelcast-starter | Stable | 2.7 | Perform operations on Hazelcast 
distributed set.
+
+| xref:latest@components::hazelcast-topic-component.adoc[Hazelcast Topic] | 
camel-hazelcast-starter | Stable | 2.15 | Send and receive messages to/from 
Hazelcast distributed topic.
+
+| xref:latest@components::hbase-component.adoc[HBase] | camel-hbase-starter | 
Stable | 2.10 | Reading and write from/to an HBase store (Hadoop database).
+
+| xref:latest@components::hdfs-component.adoc[HDFS] | camel-hdfs-starter | 
Stable | 2.14 | Read and write from/to an HDFS filesystem using Hadoop 2.x.
+
+| xref:latest@components::http-component.adoc[HTTP] | camel-http-starter | 
Stable | 2.3 | Send requests to external HTTP servers using Apache HTTP Client 
4.x.
+
+| xref:latest@components::hwcloud-imagerecognition-component.adoc[Huawei Cloud 
Image Recognition] | camel-huaweicloud-imagerecognition-starter | Preview | 
3.12 | To identify objects, scenes, and concepts in images on Huawei Cloud
+
+| xref:latest@components::hwcloud-dms-component.adoc[Huawei Distributed 
Message Service (DMS)] | camel-huaweicloud-dms-starter | Preview | 3.12 | To 
integrate with a fully managed, high-performance message queuing service on 
Huawei Cloud
+
+| xref:latest@components::hwcloud-functiongraph-component.adoc[Huawei 
FunctionGraph] | camel-huaweicloud-functiongraph-starter | Stable | 3.11 | To 
call serverless functions on Huawei Cloud
+
+| xref:latest@components::hwcloud-iam-component.adoc[Huawei Identity and 
Access Management (IAM)] | camel-huaweicloud-iam-starter | Stable | 3.11 | To 
securely manage users on Huawei Cloud
+
+| xref:latest@components::hwcloud-obs-component.adoc[Huawei Object Storage 
Service (OBS)] | camel-huaweicloud-obs-starter | Preview | 3.12 | To provide 
stable, secure, efficient, and easy-to-use cloud storage service on Huawei Cloud
+
+| xref:latest@components::hwcloud-smn-component.adoc[Huawei Simple Message 
Notification (SMN)] | camel-huaweicloud-smn-starter | Stable | 3.8 | To 
broadcast messages and connect cloud services through notifications on Huawei 
Cloud
+
+| xref:latest@components::iec60870-client-component.adoc[IEC 60870 Client] | 
camel-iec60870-starter | Stable | 2.20 | IEC 60870 supervisory control and data 
acquisition (SCADA) client using NeoSCADA implementation.
+
+| xref:latest@components::iec60870-server-component.adoc[IEC 60870 Server] | 
camel-iec60870-starter | Stable | 2.20 | IEC 60870 supervisory control and data 
acquisition (SCADA) server using NeoSCADA implementation.
+
+| xref:latest@components::ignite-cache-component.adoc[Ignite Cache] | 
camel-ignite-starter | Stable | 2.17 | Perform cache operations on an Ignite 
cache or consume changes from a continuous query.
+
+| xref:latest@components::ignite-compute-component.adoc[Ignite Compute] | 
camel-ignite-starter | Stable | 2.17 | Run compute operations on an Ignite 
cluster.
+
+| xref:latest@components::ignite-events-component.adoc[Ignite Events] | 
camel-ignite-starter | Stable | 2.17 | Receive events from an Ignite cluster by 
creating a local event listener.
+
+| xref:latest@components::ignite-idgen-component.adoc[Ignite ID Generator] | 
camel-ignite-starter | Stable | 2.17 | Interact with Ignite Atomic Sequences 
and ID Generators .
+
+| xref:latest@components::ignite-messaging-component.adoc[Ignite Messaging] | 
camel-ignite-starter | Stable | 2.17 | Send and receive messages from an Ignite 
topic.
+
+| xref:latest@components::ignite-queue-component.adoc[Ignite Queues] | 
camel-ignite-starter | Stable | 2.17 | Interact with Ignite Queue data 
structures.
+
+| xref:latest@components::ignite-set-component.adoc[Ignite Sets] | 
camel-ignite-starter | Stable | 2.17 | Interact with Ignite Set data structures.
+
+| xref:latest@components::infinispan-component.adoc[Infinispan] | 
camel-infinispan-starter | Stable | 2.13 | Read and write from/to Infinispan 
distributed key/value store and data grid.
+
+| xref:latest@components::infinispan-embedded-component.adoc[Infinispan 
Embedded] | camel-infinispan-embedded-starter | Stable | 2.13 | Read and write 
from/to Infinispan distributed key/value store and data grid.
+
+| xref:latest@components::influxdb-component.adoc[InfluxDB] | 
camel-influxdb-starter | Stable | 2.18 | Interact with InfluxDB, a time series 
database.
+
+| xref:latest@components::iota-component.adoc[IOTA] | camel-iota-starter | 
Stable | 2.23 | Manage financial transactions using IOTA distributed ledger.
+
+| xref:latest@components::ipfs-component.adoc[IPFS] | camel-ipfs-starter | 
Stable | 2.23 | Access the Interplanetary File System (IPFS).
+
+| xref:latest@components::irc-component.adoc[IRC] | camel-irc-starter | Stable 
| 1.1 | Send and receive messages to/from and IRC chat.
+
+| xref:latest@components::ironmq-component.adoc[IronMQ] | camel-ironmq-starter 
| Stable | 2.17 | Send and receive messages to/from IronMQ an elastic and 
durable hosted message queue as a service.
+
+| xref:latest@components::websocket-jsr356-component.adoc[Javax Websocket] | 
camel-websocket-jsr356-starter | Stable | 2.23 | Expose websocket endpoints 
using JSR356.
+
+| xref:latest@components::jbpm-component.adoc[JBPM] | camel-jbpm-starter | 
Stable | 2.6 | Interact with jBPM workflow engine over REST.
+
+| xref:latest@components::jcache-component.adoc[JCache] | camel-jcache-starter 
| Stable | 2.17 | Perform caching operations against JSR107/JCache.
+
+| xref:latest@components::jclouds-component.adoc[JClouds] | 
camel-jclouds-starter | Stable | 2.9 | Interact with jclouds compute and 
blobstore service.
+
+| xref:latest@components::jcr-component.adoc[JCR] | camel-jcr-starter | Stable 
| 1.3 | Read and write nodes to/from a JCR compliant content repository.
+
+| xref:latest@components::jdbc-component.adoc[JDBC] | camel-jdbc-starter | 
Stable | 1.2 | Access databases through SQL and JDBC.
+
+| xref:latest@components::jetty-component.adoc[Jetty] | camel-jetty-starter | 
Stable | 1.2 | Expose HTTP endpoints using Jetty 9.
+
+| xref:latest@components::websocket-component.adoc[Jetty Websocket] | 
camel-websocket-starter | Stable | 2.10 | Expose websocket endpoints using 
Jetty.
+
+| xref:latest@components::jgroups-component.adoc[JGroups] | 
camel-jgroups-starter | Stable | 2.13 | Exchange messages with JGroups clusters.
+
+| xref:latest@components::jgroups-raft-component.adoc[JGroups raft] | 
camel-jgroups-raft-starter | Stable | 2.24 | Exchange messages with 
JGroups-raft clusters.
+
+| xref:latest@components::jing-component.adoc[Jing] | camel-jing-starter | 
Stable | 1.1 | Validate XML against a RelaxNG schema (XML Syntax or Compact 
Syntax) using Jing library.
+
+| xref:latest@components::jira-component.adoc[Jira] | camel-jira-starter | 
Stable | 3.0 | Interact with JIRA issue tracker.
+
+| xref:latest@components::jms-component.adoc[JMS] | camel-jms-starter | Stable 
| 1.0 | Sent and receive messages to/from a JMS Queue or Topic.
+
+| xref:latest@components::jmx-component.adoc[JMX] | camel-jmx-starter | Stable 
| 2.6 | Receive JMX notifications.
+
+| xref:latest@components::jolt-component.adoc[JOLT] | camel-jolt-starter | 
Stable | 2.16 | JSON to JSON transformation using JOLT.
+
+| xref:latest@components::jooq-component.adoc[JOOQ] | camel-jooq-starter | 
Stable | 3.0 | Store and retrieve Java objects from an SQL database using JOOQ.
+
+| xref:latest@components::jpa-component.adoc[JPA] | camel-jpa-starter | Stable 
| 1.0 | Store and retrieve Java objects from databases using Java Persistence 
API (JPA).
+
+| xref:latest@components::jslt-component.adoc[JSLT] | camel-jslt-starter | 
Stable | 3.1 | Query or transform JSON payloads using an JSLT.
+
+| xref:latest@components::json-validator-component.adoc[JSON Schema Validator] 
| camel-json-validator-starter | Stable | 2.20 | Validate JSON payloads using 
NetworkNT JSON Schema.
+
+| xref:latest@components::jsonata-component.adoc[JSONata] | 
camel-jsonata-starter | Stable | 3.5 | Transforms JSON payload using JSONata 
transformation.
+
+| xref:latest@components::json-patch-component.adoc[JsonPatch] | 
camel-json-patch-starter | Preview | 3.12 | JsonPatch component which transform 
JSON using JSON patch (RFC 6902).
+
+| xref:latest@components::jt400-component.adoc[JT400] | camel-jt400-starter | 
Stable | 1.5 | Exchanges messages with an IBM i system using data queues, 
message queues, or program call. IBM i is the replacement for AS/400 and 
iSeries servers.
+
+| xref:latest@components::kafka-component.adoc[Kafka] | camel-kafka-starter | 
Stable | 2.13 | Sent and receive messages to/from an Apache Kafka broker.
+
+| xref:latest@components::kamelet-component.adoc[Kamelet] | 
camel-kamelet-starter | Stable | 3.8 | To call Kamelets
+
+| xref:latest@components::kamelet-reify-component.adoc[Kamelet Reify] | 
camel-kamelet-reify-starter | Stable | 3.6 | *deprecated* To call Kamelets 
(indirectly)
+
+| xref:latest@components::kubernetes-config-maps-component.adoc[Kubernetes 
ConfigMap] | camel-kubernetes-starter | Stable | 2.17 | Perform operations on 
Kubernetes ConfigMaps and get notified on ConfigMaps changes.
+
+| 
xref:latest@components::kubernetes-custom-resources-component.adoc[Kubernetes 
Custom Resources] | camel-kubernetes-starter | Stable | 3.7 | Perform 
operations on Kubernetes Custom Resources and get notified on Deployment 
changes.
+
+| xref:latest@components::kubernetes-deployments-component.adoc[Kubernetes 
Deployments] | camel-kubernetes-starter | Stable | 2.20 | Perform operations on 
Kubernetes Deployments and get notified on Deployment changes.
+
+| xref:latest@components::kubernetes-hpa-component.adoc[Kubernetes HPA] | 
camel-kubernetes-starter | Stable | 2.23 | Perform operations on Kubernetes 
Horizontal Pod Autoscalers (HPA) and get notified on HPA changes.
+
+| xref:latest@components::kubernetes-job-component.adoc[Kubernetes Job] | 
camel-kubernetes-starter | Stable | 2.23 | Perform operations on Kubernetes 
Jobs.
+
+| xref:latest@components::kubernetes-namespaces-component.adoc[Kubernetes 
Namespaces] | camel-kubernetes-starter | Stable | 2.17 | Perform operations on 
Kubernetes Namespaces and get notified on Namespace changes.
+
+| xref:latest@components::kubernetes-nodes-component.adoc[Kubernetes Nodes] | 
camel-kubernetes-starter | Stable | 2.17 | Perform operations on Kubernetes 
Nodes and get notified on Node changes.
+
+| 
xref:latest@components::kubernetes-persistent-volumes-component.adoc[Kubernetes 
Persistent Volume] | camel-kubernetes-starter | Stable | 2.17 | Perform 
operations on Kubernetes Persistent Volumes and get notified on Persistent 
Volume changes.
+
+| 
xref:latest@components::kubernetes-persistent-volumes-claims-component.adoc[Kubernetes
 Persistent Volume Claim] | camel-kubernetes-starter | Stable | 2.17 | Perform 
operations on Kubernetes Persistent Volumes Claims and get notified on 
Persistent Volumes Claim changes.
+
+| xref:latest@components::kubernetes-pods-component.adoc[Kubernetes Pods] | 
camel-kubernetes-starter | Stable | 2.17 | Perform operations on Kubernetes 
Pods and get notified on Pod changes.
+
+| 
xref:latest@components::kubernetes-replication-controllers-component.adoc[Kubernetes
 Replication Controller] | camel-kubernetes-starter | Stable | 2.17 | Perform 
operations on Kubernetes Replication Controllers and get notified on 
Replication Controllers changes.
+
+| xref:latest@components::kubernetes-resources-quota-component.adoc[Kubernetes 
Resources Quota] | camel-kubernetes-starter | Stable | 2.17 | Perform 
operations on Kubernetes Resources Quotas.
+
+| xref:latest@components::kubernetes-secrets-component.adoc[Kubernetes 
Secrets] | camel-kubernetes-starter | Stable | 2.17 | Perform operations on 
Kubernetes Secrets.
+
+| 
xref:latest@components::kubernetes-service-accounts-component.adoc[Kubernetes 
Service Account] | camel-kubernetes-starter | Stable | 2.17 | Perform 
operations on Kubernetes Service Accounts.
+
+| xref:latest@components::kubernetes-services-component.adoc[Kubernetes 
Services] | camel-kubernetes-starter | Stable | 2.17 | Perform operations on 
Kubernetes Services and get notified on Service changes.
+
+| xref:latest@components::kudu-component.adoc[Kudu] | camel-kudu-starter | 
Stable | 3.0 | Interact with Apache Kudu, a free and open source 
column-oriented data store of the Apache Hadoop ecosystem.
+
+| xref:latest@components::language-component.adoc[Language] | 
camel-language-starter | Stable | 2.5 | Execute scripts in any of the languages 
supported by Camel.
+
+| xref:latest@components::ldap-component.adoc[LDAP] | camel-ldap-starter | 
Stable | 1.5 | Perform searches on LDAP servers.
+
+| xref:latest@components::ldif-component.adoc[LDIF] | camel-ldif-starter | 
Stable | 2.20 | Perform updates on an LDAP server from an LDIF body content.
+
+| xref:latest@components::log-component.adoc[Log] | camel-log-starter | Stable 
| 1.1 | Log messages to the underlying logging mechanism.
+
+| xref:latest@components::lucene-component.adoc[Lucene] | camel-lucene-starter 
| Stable | 2.2 | Perform inserts or queries against Apache Lucene databases.
+
+| xref:latest@components::lumberjack-component.adoc[Lumberjack] | 
camel-lumberjack-starter | Stable | 2.18 | Receive logs messages using the 
Lumberjack protocol.
+
+| xref:latest@components::mail-component.adoc[Mail] | camel-mail-starter | 
Stable | 1.0 | Send and receive emails using imap, pop3 and smtp protocols.
+
+| xref:latest@components::master-component.adoc[Master] | camel-master-starter 
| Stable | 2.20 | Have only a single consumer in a cluster consuming from a 
given endpoint; with automatic failover if the JVM dies.
+
+| xref:latest@components::metrics-component.adoc[Metrics] | 
camel-metrics-starter | Stable | 2.14 | Collect various metrics directly from 
Camel routes using the DropWizard metrics library.
+
+| xref:latest@components::micrometer-component.adoc[Micrometer] | 
camel-micrometer-starter | Stable | 2.22 | Collect various metrics directly 
from Camel routes using the Micrometer library.
+
+| xref:latest@components::mina-component.adoc[Mina] | camel-mina-starter | 
Stable | 2.10 | Socket level networking using TCP or UDP with Apache Mina 2.x.
+
+| xref:latest@components::minio-component.adoc[Minio] | camel-minio-starter | 
Stable | 3.5 | Store and retrieve objects from Minio Storage Service using 
Minio SDK.
+
+| xref:latest@components::mllp-component.adoc[MLLP] | camel-mllp-starter | 
Stable | 2.17 | Communicate with external systems using the MLLP protocol.
+
+| xref:latest@components::mock-component.adoc[Mock] | camel-mock-starter | 
Stable | 1.0 | Test routes and mediation rules using mocks.
+
+| xref:latest@components::mongodb-component.adoc[MongoDB] | 
camel-mongodb-starter | Stable | 2.19 | Perform operations on MongoDB documents 
and collections.
+
+| xref:latest@components::mongodb-gridfs-component.adoc[MongoDB GridFS] | 
camel-mongodb-gridfs-starter | Stable | 2.18 | Interact with MongoDB GridFS.
+
+| xref:latest@components::msv-component.adoc[MSV] | camel-msv-starter | Stable 
| 1.1 | Validate XML payloads using Multi-Schema Validator (MSV).
+
+| xref:latest@components::mustache-component.adoc[Mustache] | 
camel-mustache-starter | Stable | 2.12 | Transform messages using a Mustache 
template.
+
+| xref:latest@components::mvel-component.adoc[MVEL] | camel-mvel-starter | 
Stable | 2.12 | Transform messages using an MVEL template.
+
+| xref:latest@components::mybatis-component.adoc[MyBatis] | 
camel-mybatis-starter | Stable | 2.7 | Performs a query, poll, insert, update 
or delete in a relational database using MyBatis.
+
+| xref:latest@components::mybatis-bean-component.adoc[MyBatis Bean] | 
camel-mybatis-starter | Stable | 2.22 | Perform queries, inserts, updates or 
deletes in a relational database using MyBatis.
+
+| xref:latest@components::nagios-component.adoc[Nagios] | camel-nagios-starter 
| Stable | 2.3 | Send passive checks to Nagios using JSendNSCA.
+
+| xref:latest@components::nats-component.adoc[Nats] | camel-nats-starter | 
Stable | 2.17 | Send and receive messages from NATS messaging system.
+
+| xref:latest@components::netty-component.adoc[Netty] | camel-netty-starter | 
Stable | 2.14 | Socket level networking using TCP or UDP with Netty 4.x.
+
+| xref:latest@components::netty-http-component.adoc[Netty HTTP] | 
camel-netty-http-starter | Stable | 2.14 | Netty HTTP server and client using 
the Netty 4.x.
+
+| xref:latest@components::nitrite-component.adoc[Nitrite] | 
camel-nitrite-starter | Stable | 3.0 | Access Nitrite databases.
+
+| xref:latest@components::nsq-component.adoc[NSQ] | camel-nsq-starter | Stable 
| 2.23 | Send and receive messages from NSQ realtime distributed messaging 
platform.
+
+| xref:latest@components::oaipmh-component.adoc[OAI-PMH] | 
camel-oaipmh-starter | Stable | 3.5 | Harvest metadata using OAI-PMH protocol
+
+| xref:latest@components::olingo2-component.adoc[Olingo2] | 
camel-olingo2-starter | Stable | 2.14 | Communicate with OData 2.0 services 
using Apache Olingo.
+
+| xref:latest@components::olingo4-component.adoc[Olingo4] | 
camel-olingo4-starter | Stable | 2.19 | Communicate with OData 4.0 services 
using Apache Olingo OData API.
+
+| xref:latest@components::milo-client-component.adoc[OPC UA Client] | 
camel-milo-starter | Stable | 2.19 | Connect to OPC UA servers using the binary 
protocol for acquiring telemetry data.
+
+| xref:latest@components::milo-server-component.adoc[OPC UA Server] | 
camel-milo-starter | Stable | 2.19 | Make telemetry data available as an OPC UA 
server.
+
+| xref:latest@components::openshift-build-configs-component.adoc[Openshift 
Build Config] | camel-kubernetes-starter | Stable | 2.17 | Perform operations 
on OpenShift Build Configs.
+
+| xref:latest@components::openshift-builds-component.adoc[Openshift Builds] | 
camel-kubernetes-starter | Stable | 2.17 | Perform operations on OpenShift 
Builds.
+
+| xref:latest@components::openstack-cinder-component.adoc[OpenStack Cinder] | 
camel-openstack-starter | Stable | 2.19 | Access data in OpenStack Cinder block 
storage.
+
+| xref:latest@components::openstack-glance-component.adoc[OpenStack Glance] | 
camel-openstack-starter | Stable | 2.19 | Manage VM images and metadata 
definitions in OpenStack Glance.
+
+| xref:latest@components::openstack-keystone-component.adoc[OpenStack 
Keystone] | camel-openstack-starter | Stable | 2.19 | Access OpenStack Keystone 
for API client authentication, service discovery and distributed multi-tenant 
authorization.
+
+| xref:latest@components::openstack-neutron-component.adoc[OpenStack Neutron] 
| camel-openstack-starter | Stable | 2.19 | Access OpenStack Neutron for 
network services.
+
+| xref:latest@components::openstack-nova-component.adoc[OpenStack Nova] | 
camel-openstack-starter | Stable | 2.19 | Access OpenStack to manage compute 
resources.
+
+| xref:latest@components::openstack-swift-component.adoc[OpenStack Swift] | 
camel-openstack-starter | Stable | 2.19 | Access OpenStack Swift object/blob 
store.
+
+| xref:latest@components::optaplanner-component.adoc[OptaPlanner] | 
camel-optaplanner-starter | Stable | 2.13 | Solve planning problems with 
OptaPlanner.
+
+| xref:latest@components::paho-component.adoc[Paho] | camel-paho-starter | 
Stable | 2.16 | Communicate with MQTT message brokers using Eclipse Paho MQTT 
Client.
+
+| xref:latest@components::paho-mqtt5-component.adoc[Paho MQTT 5] | 
camel-paho-mqtt5-starter | Stable | 3.8 | Communicate with MQTT message brokers 
using Eclipse Paho MQTT v5 Client.
+
+| xref:latest@components::pdf-component.adoc[PDF] | camel-pdf-starter | Stable 
| 2.16 | Create, modify or extract content from PDF documents.
+
+| xref:latest@components::platform-http-component.adoc[Platform HTTP] | 
camel-platform-http-starter | Stable | 3.0 | Expose HTTP endpoints using the 
HTTP server available in the current platform.
+
+| xref:latest@components::pgevent-component.adoc[PostgresSQL Event] | 
camel-pgevent-starter | Stable | 2.15 | Send and receive PostgreSQL events via 
LISTEN and NOTIFY commands.
+
+| xref:latest@components::pg-replication-slot-component.adoc[PostgresSQL 
Replication Slot] | camel-pg-replication-slot-starter | Stable | 3.0 | Poll for 
PostgreSQL Write-Ahead Log (WAL) records using Streaming Replication Slots.
+
+| xref:latest@components::lpr-component.adoc[Printer] | camel-printer-starter 
| Stable | 2.1 | Send print jobs to printers.
+
+| xref:latest@components::pubnub-component.adoc[PubNub] | camel-pubnub-starter 
| Stable | 2.19 | Send and receive messages to/from PubNub data stream network 
for connected devices.
+
+| xref:latest@components::pulsar-component.adoc[Pulsar] | camel-pulsar-starter 
| Stable | 2.24 | Send and receive messages from/to Apache Pulsar messaging 
system.
+
+| xref:latest@components::quartz-component.adoc[Quartz] | camel-quartz-starter 
| Stable | 2.12 | Schedule sending of messages using the Quartz 2.x scheduler.
+
+| xref:latest@components::quickfix-component.adoc[QuickFix] | 
camel-quickfix-starter | Stable | 2.1 | Open a Financial Interchange (FIX) 
session using an embedded QuickFix/J engine.
+
+| xref:latest@components::rabbitmq-component.adoc[RabbitMQ] | 
camel-rabbitmq-starter | Stable | 2.12 | Send and receive messages from 
RabbitMQ instances.
+
+| xref:latest@components::reactive-streams-component.adoc[Reactive Streams] | 
camel-reactive-streams-starter | Stable | 2.19 | Exchange messages with 
reactive stream processing libraries compatible with the reactive streams 
standard.
+
+| xref:latest@components::ref-component.adoc[Ref] | camel-ref-starter | Stable 
| 1.2 | Route messages to an endpoint looked up dynamically by name in the 
Camel Registry.
+
+| xref:latest@components::rest-component.adoc[REST] | camel-rest-starter | 
Stable | 2.14 | Expose REST services or call external REST services.
+
+| xref:latest@components::rest-api-component.adoc[REST API] | 
camel-rest-starter | Stable | 2.16 | Expose OpenAPI Specification of the REST 
services defined using Camel REST DSL.
+
+| xref:latest@components::rest-openapi-component.adoc[REST OpenApi] | 
camel-rest-openapi-starter | Stable | 3.1 | Configure REST producers based on 
an OpenAPI specification document delegating to a component implementing the 
RestProducerFactory interface.
+
+| xref:latest@components::rest-swagger-component.adoc[REST Swagger] | 
camel-rest-swagger-starter | Stable | 2.19 | Configure REST producers based on 
a Swagger (OpenAPI) specification document delegating to a component 
implementing the RestProducerFactory interface.
+
+| xref:latest@components::resteasy-component.adoc[Resteasy] | 
camel-resteasy-starter | Preview | 3.4 | Expose REST endpoints and access 
external REST servers.
+
+| xref:latest@components::robotframework-component.adoc[Robot Framework] | 
camel-robotframework-starter | Stable | 3.0 | Pass camel exchanges to 
acceptence test written in Robot DSL.
+
+| xref:latest@components::rss-component.adoc[RSS] | camel-rss-starter | Stable 
| 2.0 | Poll RSS feeds.
+
+| xref:latest@components::saga-component.adoc[Saga] | camel-saga-starter | 
Stable | 2.21 | Execute custom actions within a route using the Saga EIP.
+
+| xref:latest@components::salesforce-component.adoc[Salesforce] | 
camel-salesforce-starter | Stable | 2.12 | Communicate with Salesforce using 
Java DTOs.
+
+| xref:latest@components::sap-netweaver-component.adoc[SAP NetWeaver] | 
camel-sap-netweaver-starter | Stable | 2.12 | Send requests to SAP NetWeaver 
Gateway using HTTP.
+
+| xref:latest@components::scheduler-component.adoc[Scheduler] | 
camel-scheduler-starter | Stable | 2.15 | Generate messages in specified 
intervals using java.util.concurrent.ScheduledExecutorService.
+
+| xref:latest@components::schematron-component.adoc[Schematron] | 
camel-schematron-starter | Stable | 2.15 | Validate XML payload using the 
Schematron Library.
+
+| xref:latest@components::scp-component.adoc[SCP] | camel-jsch-starter | 
Stable | 2.10 | Copy files to/from remote hosts using the secure copy protocol 
(SCP).
+
+| xref:latest@components::seda-component.adoc[SEDA] | camel-seda-starter | 
Stable | 1.1 | Asynchronously call another endpoint from any Camel Context in 
the same JVM.
+
+| xref:latest@components::service-component.adoc[Service] | 
camel-service-starter | Stable | 2.22 | Register a Camel endpoint to a Service 
Registry (such as Consul, Etcd) and delegate to it.
+
+| xref:latest@components::servicenow-component.adoc[ServiceNow] | 
camel-servicenow-starter | Stable | 2.18 | Interact with ServiceNow via its 
REST API.
+
+| xref:latest@components::servlet-component.adoc[Servlet] | 
camel-servlet-starter | Stable | 2.0 | Serve HTTP requests by a Servlet.
+
+| xref:latest@components::sftp-component.adoc[SFTP] | camel-ftp-starter | 
Stable | 1.1 | Upload and download files to/from SFTP servers.
+
+| xref:latest@components::sjms-component.adoc[Simple JMS] | camel-sjms-starter 
| Stable | 2.11 | Send and receive messages to/from a JMS Queue or Topic using 
plain JMS 1.x API.
+
+| xref:latest@components::sjms2-component.adoc[Simple JMS2] | 
camel-sjms2-starter | Stable | 2.19 | Send and receive messages to/from a JMS 
Queue or Topic using plain JMS 2.x API.
+
+| xref:latest@components::sip-component.adoc[SIP] | camel-sip-starter | Stable 
| 2.5 | Send and receive messages using the SIP protocol (used in 
telecommunications).
+
+| xref:latest@components::slack-component.adoc[Slack] | camel-slack-starter | 
Stable | 2.16 | Send and receive messages to/from Slack.
+
+| xref:latest@components::smpp-component.adoc[SMPP] | camel-smpp-starter | 
Stable | 2.2 | Send and receive SMS messages using a SMSC (Short Message 
Service Center).
+
+| xref:latest@components::snmp-component.adoc[SNMP] | camel-snmp-starter | 
Stable | 2.1 | Receive traps and poll SNMP (Simple Network Management Protocol) 
capable devices.
+
+| xref:latest@components::solr-component.adoc[Solr] | camel-solr-starter | 
Stable | 2.9 | Perform operations against Apache Lucene Solr.
+
+| xref:latest@components::soroush-component.adoc[Soroush] | 
camel-soroush-starter | Stable | 3.0 | Send and receive messages as a Soroush 
chat bot.
+
+| xref:latest@components::spark-component.adoc[Spark] | camel-spark-starter | 
Stable | 2.17 | Send RDD or DataFrame jobs to Apache Spark clusters.
+
+| xref:latest@components::splunk-component.adoc[Splunk] | camel-splunk-starter 
| Stable | 2.13 | Publish or search for events in Splunk.
+
+| xref:latest@components::spring-batch-component.adoc[Spring Batch] | 
camel-spring-batch-starter | Stable | 2.10 | Send messages to Spring Batch for 
further processing.
+
+| xref:latest@components::spring-event-component.adoc[Spring Event] | 
camel-spring-starter | Stable | 1.4 | Listen for Spring Application Events.
+
+| xref:latest@components::spring-integration-component.adoc[Spring 
Integration] | camel-spring-integration-starter | Stable | 1.4 | Bridge Camel 
with Spring Integration.
+
+| xref:latest@components::spring-jdbc-component.adoc[Spring JDBC] | 
camel-spring-jdbc-starter | Stable | 3.10 | Access databases through SQL and 
JDBC with Spring Transaction support.
+
+| xref:latest@components::spring-ldap-component.adoc[Spring LDAP] | 
camel-spring-ldap-starter | Stable | 2.11 | Perform searches in LDAP servers 
using filters as the message payload.
+
+| xref:latest@components::spring-rabbitmq-component.adoc[Spring RabbitMQ] | 
camel-spring-rabbitmq-starter | Stable | 3.8 | Send and receive messages from 
RabbitMQ using Spring RabbitMQ client.
+
+| xref:latest@components::spring-redis-component.adoc[Spring Redis] | 
camel-spring-redis-starter | Stable | 2.11 | Send and receive messages from 
Redis.
+
+| xref:latest@components::spring-ws-component.adoc[Spring WebService] | 
camel-spring-ws-starter | Stable | 2.6 | Access external web services as a 
client or expose your own web services.
+
+| xref:latest@components::sql-component.adoc[SQL] | camel-sql-starter | Stable 
| 1.4 | Perform SQL queries using Spring JDBC.
+
+| xref:latest@components::sql-stored-component.adoc[SQL Stored Procedure] | 
camel-sql-starter | Stable | 2.17 | Perform SQL queries as a JDBC Stored 
Procedures using Spring JDBC.
+
+| xref:latest@components::ssh-component.adoc[SSH] | camel-ssh-starter | Stable 
| 2.10 | Execute commands on remote hosts using SSH.
+
+| xref:latest@components::stax-component.adoc[StAX] | camel-stax-starter | 
Stable | 2.9 | Process XML payloads by a SAX ContentHandler.
+
+| xref:latest@components::stitch-component.adoc[Stitch] | camel-stitch-starter 
| Stable | 3.8 | Stitch is a cloud ETL service that integrates various data 
sources into a central data warehouse through various integrations.
+
+| xref:latest@components::stomp-component.adoc[Stomp] | camel-stomp-starter | 
Stable | 2.12 | Send and rececive messages to/from STOMP (Simple Text Oriented 
Messaging Protocol) compliant message brokers.
+
+| xref:latest@components::stream-component.adoc[Stream] | camel-stream-starter 
| Stable | 1.3 | Read from system-in and write to system-out and system-err 
streams.
+
+| xref:latest@components::string-template-component.adoc[String Template] | 
camel-stringtemplate-starter | Stable | 1.2 | Transform messages using 
StringTemplate engine.
+
+| xref:latest@components::stub-component.adoc[Stub] | camel-stub-starter | 
Stable | 2.10 | Stub out any physical endpoints while in development or testing.
+
+| xref:latest@components::telegram-component.adoc[Telegram] | 
camel-telegram-starter | Stable | 2.18 | Send and receive messages acting as a 
Telegram Bot Telegram Bot API.
+
+| xref:latest@components::thrift-component.adoc[Thrift] | camel-thrift-starter 
| Stable | 2.20 | Call and expose remote procedures (RPC) with Apache Thrift 
data format and serialization mechanism.
+
+| xref:latest@components::tika-component.adoc[Tika] | camel-tika-starter | 
Stable | 2.19 | Parse documents and extract metadata and text using Apache Tika.
+
+| xref:latest@components::timer-component.adoc[Timer] | camel-timer-starter | 
Stable | 1.0 | Generate messages in specified intervals using java.util.Timer.
+
+| xref:latest@components::twilio-component.adoc[Twilio] | camel-twilio-starter 
| Stable | 2.20 | Interact with Twilio REST APIs using Twilio Java SDK.
+
+| xref:latest@components::twitter-directmessage-component.adoc[Twitter Direct 
Message] | camel-twitter-starter | Stable | 2.10 | Send and receive Twitter 
direct messages.
+
+| xref:latest@components::twitter-search-component.adoc[Twitter Search] | 
camel-twitter-starter | Stable | 2.10 | Access Twitter Search.
+
+| xref:latest@components::twitter-timeline-component.adoc[Twitter Timeline] | 
camel-twitter-starter | Stable | 2.10 | Send tweets and receive tweets from 
user's timeline.
+
+| xref:latest@components::undertow-component.adoc[Undertow] | 
camel-undertow-starter | Stable | 2.16 | Expose HTTP and WebSocket endpoints 
and access external HTTP/WebSocket servers.
+
+| xref:latest@components::validator-component.adoc[Validator] | 
camel-validator-starter | Stable | 1.1 | Validate the payload using XML Schema 
and JAXP Validation.
+
+| xref:latest@components::velocity-component.adoc[Velocity] | 
camel-velocity-starter | Stable | 1.2 | Transform messages using a Velocity 
template.
+
+| xref:latest@components::vertx-component.adoc[Vert.x] | camel-vertx-starter | 
Stable | 2.12 | Send and receive messages to/from Vert.x Event Bus.
+
+| xref:latest@components::vertx-http-component.adoc[Vert.x HTTP Client] | 
camel-vertx-http-starter | Stable | 3.5 | Send requests to external HTTP 
servers using Vert.x
+
+| xref:latest@components::vertx-kafka-component.adoc[Vert.x Kafka] | 
camel-vertx-kafka-starter | Stable | 3.7 | Sent and receive messages to/from an 
Apache Kafka broker using vert.x Kafka client
+
+| xref:latest@components::vertx-websocket-component.adoc[Vert.x WebSocket] | 
camel-vertx-websocket-starter | Stable | 3.5 | Expose WebSocket endpoints and 
connect to remote WebSocket servers using Vert.x
+
+| xref:latest@components::vm-component.adoc[VM] | camel-vm-starter | Stable | 
1.1 | Call another endpoint in the same CamelContext asynchronously.
+
+| xref:latest@components::weather-component.adoc[Weather] | 
camel-weather-starter | Stable | 2.12 | Poll the weather information from Open 
Weather Map.
+
+| xref:latest@components::web3j-component.adoc[Web3j Ethereum Blockchain] | 
camel-web3j-starter | Stable | 2.22 | Interact with Ethereum nodes using web3j 
client API.
+
+| xref:latest@components::webhook-component.adoc[Webhook] | 
camel-webhook-starter | Stable | 3.0 | Expose webhook endpoints to receive push 
notifications for other Camel components.
+
+| xref:latest@components::weka-component.adoc[Weka] | camel-weka-starter | 
Stable | 3.1 | Perform machine learning tasks using Weka.
+
+| xref:latest@components::wordpress-component.adoc[Wordpress] | 
camel-wordpress-starter | Stable | 2.21 | Manage posts and users using 
Wordpress API.
+
+| xref:latest@components::workday-component.adoc[Workday] | 
camel-workday-starter | Stable | 3.1 | Detect and parse documents using Workday.
+
+| xref:latest@components::xchange-component.adoc[XChange] | 
camel-xchange-starter | Stable | 2.21 | Access market data and trade on Bitcoin 
and Altcoin exchanges.
+
+| xref:latest@components::xj-component.adoc[XJ] | camel-xj-starter | Stable | 
3.0 | Transform JSON and XML message using a XSLT.
+
+| xref:latest@components::xmlsecurity-sign-component.adoc[XML Security Sign] | 
camel-xmlsecurity-starter | Stable | 2.12 | Sign XML payloads using the XML 
signature specification.
+
+| xref:latest@components::xmlsecurity-verify-component.adoc[XML Security 
Verify] | camel-xmlsecurity-starter | Stable | 2.12 | Verify XML payloads using 
the XML signature specification.
+
+| xref:latest@components::xmpp-component.adoc[XMPP] | camel-xmpp-starter | 
Stable | 1.0 | Send and receive messages to/from an XMPP chat server.
+
+| xref:latest@components::xquery-component.adoc[XQuery] | camel-saxon-starter 
| Stable | 1.0 | Query and/or transform XML payloads using XQuery and Saxon.
+
+| xref:latest@components::xslt-component.adoc[XSLT] | camel-xslt-starter | 
Stable | 1.3 | Transforms XML payload using an XSLT template.
+
+| xref:latest@components::xslt-saxon-component.adoc[XSLT Saxon] | 
camel-xslt-saxon-starter | Stable | 3.0 | Transform XML payloads using an XSLT 
template using Saxon.
+
+| xref:latest@components::yammer-component.adoc[Yammer] | camel-yammer-starter 
| Stable | 2.12 | Interact with the Yammer enterprise social network.
+
+| xref:latest@components::zendesk-component.adoc[Zendesk] | 
camel-zendesk-starter | Stable | 2.19 | Manage Zendesk tickets, users, 
organizations, etc.
+
+| xref:latest@components::zookeeper-component.adoc[ZooKeeper] | 
camel-zookeeper-starter | Stable | 2.9 | Manage ZooKeeper clusters.
+
+| xref:latest@components::zookeeper-master-component.adoc[ZooKeeper Master] | 
camel-zookeeper-master-starter | Stable | 2.19 | Have only a single consumer in 
a cluster consuming from a given endpoint; with automatic failover if the JVM 
dies.
+|===
+// components: END
+
+== Camel Data Formats
+
+// dataformats: START
+Number of Camel data formats: 48 in 40 JAR artifacts (0 deprecated)
+
+[width="100%",cols="4,3,3,3,6",options="header"]
+|===
+| Data Format | Artifact | Support Level | Since | Description
+
+| xref:latest@components:dataformats:any23-dataformat.adoc[Any23] | 
camel-any23-starter | Stable | 3.0 | Extract RDF data from HTML documents.
+
+| xref:latest@components:dataformats:asn1-dataformat.adoc[ASN.1 File] | 
camel-asn1-starter | Stable | 2.20 | Encode and decode data structures using 
Abstract Syntax Notation One (ASN.1).
+
+| xref:latest@components:dataformats:avro-dataformat.adoc[Avro] | 
camel-avro-starter | Stable | 2.14 | Serialize and deserialize messages using 
Apache Avro binary data format.
+
+| xref:latest@components:dataformats:avro-jackson-dataformat.adoc[Avro 
Jackson] | camel-jackson-avro-starter | Stable | 3.10 | Marshal POJOs to Avro 
and back using Jackson.
+
+| xref:latest@components:dataformats:barcode-dataformat.adoc[Barcode] | 
camel-barcode-starter | Stable | 2.14 | Transform strings to various 1D/2D 
barcode bitmap formats and back.
+
+| xref:latest@components:dataformats:base64-dataformat.adoc[Base64] | 
camel-base64-starter | Stable | 2.11 | Encode and decode data using Base64.
+
+| xref:latest@components:dataformats:beanio-dataformat.adoc[BeanIO] | 
camel-beanio-starter | Stable | 2.10 | Marshal and unmarshal Java beans to and 
from flat files (such as CSV, delimited, or fixed length formats).
+
+| xref:latest@components:dataformats:bindy-dataformat.adoc[Bindy CSV] | 
camel-bindy-starter | Stable | 2.0 | Marshal and unmarshal between POJOs and 
Comma separated values (CSV) format using Camel Bindy
+
+| xref:latest@components:dataformats:bindy-dataformat.adoc[Bindy Fixed Length] 
| camel-bindy-starter | Stable | 2.0 | Marshal and unmarshal between POJOs and 
fixed field length format using Camel Bindy
+
+| xref:latest@components:dataformats:bindy-dataformat.adoc[Bindy Key Value 
Pair] | camel-bindy-starter | Stable | 2.0 | Marshal and unmarshal between 
POJOs and key-value pair (KVP) format using Camel Bindy
+
+| xref:latest@components:dataformats:cbor-dataformat.adoc[CBOR] | 
camel-cbor-starter | Stable | 3.0 | Unmarshal a CBOR payload to POJO and back.
+
+| xref:latest@components:dataformats:crypto-dataformat.adoc[Crypto (Java 
Cryptographic Extension)] | camel-crypto-starter | Stable | 2.3 | Encrypt and 
decrypt messages using Java Cryptography Extension (JCE).
+
+| xref:latest@components:dataformats:csv-dataformat.adoc[CSV] | 
camel-csv-starter | Stable | 1.3 | Handle CSV (Comma Separated Values) payloads.
+
+| xref:latest@components:dataformats:fhirJson-dataformat.adoc[FHIR JSon] | 
camel-fhir-starter | Stable | 2.21 | Marshall and unmarshall FHIR objects 
to/from JSON.
+
+| xref:latest@components:dataformats:fhirXml-dataformat.adoc[FHIR XML] | 
camel-fhir-starter | Stable | 2.21 | Marshall and unmarshall FHIR objects 
to/from XML.
+
+| xref:latest@components:dataformats:flatpack-dataformat.adoc[Flatpack] | 
camel-flatpack-starter | Stable | 2.1 | Marshal and unmarshal Java lists and 
maps to/from flat files (such as CSV, delimited, or fixed length formats) using 
Flatpack library.
+
+| xref:latest@components:dataformats:grok-dataformat.adoc[Grok] | 
camel-grok-starter | Stable | 3.0 | Unmarshal unstructured data to objects 
using Logstash based Grok patterns.
+
+| xref:latest@components:dataformats:gzipdeflater-dataformat.adoc[GZip 
Deflater] | camel-zip-deflater-starter | Stable | 2.0 | Compress and decompress 
messages using java.util.zip.GZIPStream.
+
+| xref:latest@components:dataformats:hl7-dataformat.adoc[HL7] | 
camel-hl7-starter | Stable | 2.0 | Marshal and unmarshal HL7 (Health Care) 
model objects using the HL7 MLLP codec.
+
+| xref:latest@components:dataformats:ical-dataformat.adoc[iCal] | 
camel-ical-starter | Stable | 2.12 | Marshal and unmarshal iCal (.ics) 
documents to/from model objects provided by the iCal4j library.
+
+| xref:latest@components:dataformats:jacksonxml-dataformat.adoc[JacksonXML] | 
camel-jacksonxml-starter | Stable | 2.16 | Unmarshal a XML payloads to POJOs 
and back using XMLMapper extension of Jackson.
+
+| xref:latest@components:dataformats:jaxb-dataformat.adoc[JAXB] | 
camel-jaxb-starter | Stable | 1.0 | Unmarshal XML payloads to POJOs and back 
using JAXB2 XML marshalling standard.
+
+| xref:latest@components:dataformats:json-fastjson-dataformat.adoc[JSON 
Fastjson] | camel-fastjson-starter | Stable | 2.20 | Marshal POJOs to JSON and 
back using Fastjson
+
+| xref:latest@components:dataformats:json-gson-dataformat.adoc[JSON Gson] | 
camel-gson-starter | Stable | 2.10 | Marshal POJOs to JSON and back using Gson
+
+| xref:latest@components:dataformats:json-jackson-dataformat.adoc[JSON 
Jackson] | camel-jackson-starter | Stable | 2.0 | Marshal POJOs to JSON and 
back using Jackson
+
+| xref:latest@components:dataformats:json-johnzon-dataformat.adoc[JSON 
Johnzon] | camel-johnzon-starter | Stable | 2.18 | Marshal POJOs to JSON and 
back using Johnzon
+
+| xref:latest@components:dataformats:json-jsonb-dataformat.adoc[JSON JSON-B] | 
camel-jsonb-starter | Stable | 3.7 | Marshal POJOs to JSON and back using 
JSON-B.
+
+| xref:latest@components:dataformats:json-xstream-dataformat.adoc[JSON 
XStream] | camel-xstream-starter | Stable | 2.0 | Marshal POJOs to JSON and 
back using XStream
+
+| xref:latest@components:dataformats:jsonApi-dataformat.adoc[JSonApi] | 
camel-jsonapi-starter | Stable | 3.0 | Marshal and unmarshal JSON:API resources 
using JSONAPI-Converter library.
+
+| xref:latest@components:dataformats:lzf-dataformat.adoc[LZF Deflate 
Compression] | camel-lzf-starter | Stable | 2.17 | Compress and decompress 
streams using LZF deflate algorithm.
+
+| xref:latest@components:dataformats:mime-multipart-dataformat.adoc[MIME 
Multipart] | camel-mail-starter | Stable | 2.17 | Marshal Camel messages with 
attachments into MIME-Multipart messages and back.
+
+| xref:latest@components:dataformats:pgp-dataformat.adoc[PGP] | 
camel-crypto-starter | Stable | 2.9 | Encrypt and decrypt messages using Java 
Cryptographic Extension (JCE) and PGP.
+
+| xref:latest@components:dataformats:protobuf-dataformat.adoc[Protobuf] | 
camel-protobuf-starter | Stable | 2.2 | Serialize and deserialize Java objects 
using Google's Protocol buffers.
+
+| xref:latest@components:dataformats:protobuf-jackson-dataformat.adoc[Protobuf 
Jackson] | camel-jackson-protobuf-starter | Stable | 3.10 | Marshal POJOs to 
Protobuf and back using Jackson.
+
+| xref:latest@components:dataformats:rss-dataformat.adoc[RSS] | 
camel-rss-starter | Stable | 2.1 | Transform from ROME SyndFeed Java Objects to 
XML and vice-versa.
+
+| xref:latest@components:dataformats:soapjaxb-dataformat.adoc[SOAP] | 
camel-soap-starter | Stable | 2.3 | Marshal Java objects to SOAP messages and 
back.
+
+| xref:latest@components:dataformats:syslog-dataformat.adoc[Syslog] | 
camel-syslog-starter | Stable | 2.6 | Marshall SyslogMessages to RFC3164 and 
RFC5424 messages and back.
+
+| xref:latest@components:dataformats:tarfile-dataformat.adoc[Tar File] | 
camel-tarfile-starter | Stable | 2.16 | Archive files into tarballs or extract 
files from tarballs.
+
+| xref:latest@components:dataformats:thrift-dataformat.adoc[Thrift] | 
camel-thrift-starter | Stable | 2.20 | Serialize and deserialize messages using 
Apache Thrift binary data format.
+
+| xref:latest@components:dataformats:tidyMarkup-dataformat.adoc[TidyMarkup] | 
camel-tagsoup-starter | Stable | 2.0 | Parse (potentially invalid) HTML into 
valid HTML or DOM.
+
+| xref:latest@components:dataformats:univocity-csv-dataformat.adoc[uniVocity 
CSV] | camel-univocity-parsers-starter | Stable | 2.15 | Marshal and unmarshal 
Java objects from and to CSV (Comma Separated Values) using UniVocity Parsers.
+
+| xref:latest@components:dataformats:univocity-fixed-dataformat.adoc[uniVocity 
Fixed Length] | camel-univocity-parsers-starter | Stable | 2.15 | Marshal and 
unmarshal Java objects from and to fixed length records using UniVocity Parsers.
+
+| xref:latest@components:dataformats:univocity-tsv-dataformat.adoc[uniVocity 
TSV] | camel-univocity-parsers-starter | Stable | 2.15 | Marshal and unmarshal 
Java objects from and to TSV (Tab-Separated Values) records using UniVocity 
Parsers.
+
+| xref:latest@components:dataformats:secureXML-dataformat.adoc[XML Security] | 
camel-xmlsecurity-starter | Stable | 2.0 | Encrypt and decrypt XML payloads 
using Apache Santuario.
+
+| xref:latest@components:dataformats:xstream-dataformat.adoc[XStream] | 
camel-xstream-starter | Stable | 1.3 | Marshal and unmarshal POJOs to/from XML 
using XStream library.
+
+| xref:latest@components:dataformats:yaml-snakeyaml-dataformat.adoc[YAML 
SnakeYAML] | camel-snakeyaml-starter | Stable | 2.17 | Marshal and unmarshal 
Java objects to and from YAML using SnakeYAML
+
+| xref:latest@components:dataformats:zipdeflater-dataformat.adoc[Zip Deflate 
Compression] | camel-zip-deflater-starter | Stable | 2.12 | Compress and 
decompress streams using java.util.zip.Deflater and java.util.zip.Inflater.
+
+| xref:latest@components:dataformats:zipfile-dataformat.adoc[Zip File] | 
camel-zipfile-starter | Stable | 2.11 | Compression and decompress streams 
using java.util.zip.ZipStream.
+|===
+// dataformats: END
+
+== Camel Languages
+
+// languages: START
+Number of Camel languages: 19 in 13 JAR artifacts (0 deprecated)
+
+[width="100%",cols="4,3,3,3,6",options="header"]
+|===
+| Language | Artifact | Support Level | Since | Description
+
+| xref:latest@components:languages:bean-language.adoc[Bean Method] | 
camel-bean-starter | Stable | 1.3 | Calls a Java bean method.
+
+| xref:latest@components:languages:constant-language.adoc[Constant] | 
camel-base | Stable | 1.5 | To use a constant value in Camel expressions or 
predicates. Important: this is a fixed constant value that is only set once 
during starting up the route, do not use this if you want dynamic values during 
routing.
+
+| xref:latest@components:languages:datasonnet-language.adoc[DataSonnet] | 
camel-datasonnet-starter | Stable | 3.7 | To use DataSonnet scripts for message 
transformations.
+
+| 
xref:latest@components:languages:exchangeProperty-language.adoc[ExchangeProperty]
 | camel-base | Stable | 2.0 | To use a Camel Exchange property in expressions 
or predicates.
+
+| xref:latest@components:languages:file-language.adoc[File] | camel-base | 
Stable | 1.1 | For expressions and predicates using the file/simple language.
+
+| xref:latest@components:languages:groovy-language.adoc[Groovy] | 
camel-groovy-starter | Stable | 1.3 | Evaluates a Groovy script.
+
+| xref:latest@components:languages:header-language.adoc[Header] | camel-base | 
Stable | 1.5 | To use a Camel Message header in expressions or predicates.
+
+| xref:latest@components:languages:hl7terser-language.adoc[HL7 Terser] | 
camel-hl7-starter | Stable | 2.11 | Get the value of a HL7 message field 
specified by terse location specification syntax.
+
+| xref:latest@components:languages:joor-language.adoc[jOOR] | 
camel-joor-starter | Stable | 3.7 | Evaluates a jOOR (Java compiled once at 
runtime) expression.
+
+| xref:latest@components:languages:jsonpath-language.adoc[JSONPath] | 
camel-jsonpath-starter | Stable | 2.13 | Evaluates a JSONPath expression 
against a JSON message body.
+
+| xref:latest@components:languages:mvel-language.adoc[MVEL] | 
camel-mvel-starter | Stable | 2.0 | Evaluates a MVEL template.
+
+| xref:latest@components:languages:ognl-language.adoc[OGNL] | 
camel-ognl-starter | Stable | 1.1 | Evaluates an OGNL expression (Apache 
Commons OGNL).
+
+| xref:latest@components:languages:ref-language.adoc[Ref] | camel-base | 
Stable | 2.8 | Reference to an existing Camel expression or predicate, which is 
looked up from the Camel registry.
+
+| xref:latest@components:languages:simple-language.adoc[Simple] | camel-base | 
Stable | 1.1 | To use Camels built-in Simple language in Camel expressions or 
predicates.
+
+| xref:latest@components:languages:spel-language.adoc[SpEL] | 
camel-spring-starter | Stable | 2.7 | Evaluates a Spring expression (SpEL).
+
+| xref:latest@components:languages:tokenize-language.adoc[Tokenize] | 
camel-base | Stable | 2.0 | To use Camel message body or header with a 
tokenizer in Camel expressions or predicates.
+
+| xref:latest@components:languages:xtokenize-language.adoc[XML Tokenize] | 
camel-xml-jaxp-starter | Stable | 2.14 | Tokenize XML payloads.
+
+| xref:latest@components:languages:xpath-language.adoc[XPath] | 
camel-xpath-starter | Stable | 1.1 | Evaluates an XPath expression against an 
XML payload.
+
+| xref:latest@components:languages:xquery-language.adoc[XQuery] | 
camel-saxon-starter | Stable | 1.0 | Evaluates an XQuery expressions against an 
XML payload.
+|===
+// languages: END
+
+
+== Miscellaneous Extensions
+
+// others: START
+Number of miscellaneous extensions: 24 in 24 JAR artifacts (4 deprecated)
+
+[width="100%",cols="4,3,3,3,6",options="header"]
+|===
+| Extensions | Artifact | Support Level | Since | Description
+
+| xref:latest@components:others:aws-xray.adoc[AWS XRay] | 
camel-aws-xray-starter | Stable | 2.21 | Distributed tracing using AWS XRay
+
+| xref:latest@components:others:caffeine-lrucache.adoc[Caffeine Lrucache] | 
camel-caffeine-lrucache-starter | Stable | 3.0 | *deprecated* Camel Caffeine 
LRUCache support
+
+| xref:latest@components:others:csimple-joor.adoc[CSimple jOOR] | 
camel-csimple-joor-starter | Stable | 3.7 | jOOR compiler for csimple language
+
+| xref:latest@components:others:cxf-transport.adoc[CXF Transport] | 
camel-cxf-transport-starter | Stable | 2.8 | Camel Transport for Apache CXF
+
+| xref:latest@components:others:etcd3.adoc[Etcd3] | camel-etcd3-starter | 
Preview | 3.5 | Aggregation repository using EtcD as datastore
+
+| xref:latest@components:others:hystrix.adoc[Hystrix] | camel-hystrix-starter 
| Stable | 2.18 | *deprecated* Circuit Breaker EIP using Netflix Hystrix
+
+| xref:latest@components:others:jasypt.adoc[Jasypt] | camel-jasypt-starter | 
Stable | 2.5 | Security using Jasypt
+
+| xref:latest@components:others:jfr.adoc[Jfr] | camel-jfr-starter | Stable | 
3.8 | Diagnose Camel applications with Java Flight Recorder
+
+| xref:latest@components:others:leveldb.adoc[LevelDB] | camel-leveldb-starter 
| Stable | 2.10 | Using LevelDB as persistent EIP store
+
+| xref:latest@components:others:leveldb-legacy.adoc[LevelDB-legacy] | 
camel-leveldb-legacy-starter | Stable | 2.10 | Using LevelDB as persistent EIP 
store
+
+| xref:latest@components:others:lra.adoc[LRA] | camel-lra-starter | Preview | 
2.21 | Camel saga binding for Long-Running-Action framework
+
+| xref:latest@components:others:openapi-java.adoc[Openapi Java] | 
camel-openapi-java-starter | Stable | 3.1 | Rest-dsl support for using openapi 
doc
+
+| xref:latest@components:others:opentelemetry.adoc[OpenTelemetry] | 
camel-opentelemetry-starter | Stable | 3.5 | Distributed tracing using 
OpenTelemetry
+
+| xref:latest@components:others:opentracing.adoc[OpenTracing] | 
camel-opentracing-starter | Stable | 2.19 | Distributed tracing using 
OpenTracing
+
+| xref:latest@components:others:reactor.adoc[Reactor] | camel-reactor-starter 
| Stable | 2.20 | Reactor based back-end for Camel's reactive streams component
+
+| xref:latest@components:others:resilience4j.adoc[Resilience4j] | 
camel-resilience4j-starter | Stable | 3.0 | Circuit Breaker EIP using 
Resilience4j
+
+| xref:latest@components:others:ribbon.adoc[Ribbon] | camel-ribbon-starter | 
Stable | 2.18 | *deprecated* Using Netflix Ribbon for client side load balancing
+
+| xref:latest@components:others:rxjava.adoc[RxJava] | camel-rxjava-starter | 
Stable | 2.22 | RxJava based back-end for Camel's reactive streams component
+
+| xref:latest@components:others:shiro.adoc[Shiro] | camel-shiro-starter | 
Stable | 2.5 | Security using Shiro
+
+| xref:latest@components:others:spring-javaconfig.adoc[Spring Java 
Configuration] | camel-spring-javaconfig-starter | Stable | 2.0 | *deprecated* 
Using Camel with Spring Java Configuration
+
+| xref:latest@components:others:spring-security.adoc[Spring Security] | 
camel-spring-security-starter | Stable | 2.3 | Security using Spring Security
+
+| xref:latest@components:others:swagger-java.adoc[Swagger Java] | 
camel-swagger-java-starter | Stable | 2.16 | Rest-dsl support for using swagger 
api-doc
+
+| xref:latest@components:others:undertow-spring-security.adoc[Undertow Spring 
Security] | camel-undertow-spring-security-starter | Stable | 3.3 | Spring 
Security Provider for camel-undertow
+
+| xref:latest@components:others:zipkin.adoc[Zipkin] | camel-zipkin-starter | 
Stable | 2.18 | Distributed message tracing using Zipkin
+|===
+// others: END
+
diff --git a/docs/spring-boot/modules/ROOT/pages/spring-boot-xml.adoc 
b/docs/spring-boot/modules/ROOT/pages/spring-boot-xml.adoc
new file mode 100644
index 0000000..c5d7a68
--- /dev/null
+++ b/docs/spring-boot/modules/ROOT/pages/spring-boot-xml.adoc
@@ -0,0 +1,9 @@
+[[SpringBootXml-SpringBootXml]]
+= Spring Boot XML
+
+*Since Camel 3.9*
+
+Support for using Spring XML files containing Camel XML routes.
+
+However this is not a recommended practice as Camel XML is creating and 
managing a `SpringCamelContext`
+created by standard Spring framework that predates Spring Boot.
diff --git a/docs/spring-boot/modules/ROOT/pages/spring-boot.adoc 
b/docs/spring-boot/modules/ROOT/pages/spring-boot.adoc
new file mode 100644
index 0000000..43a1fd3
--- /dev/null
+++ b/docs/spring-boot/modules/ROOT/pages/spring-boot.adoc
@@ -0,0 +1,726 @@
+[[SpringBoot-SpringBoot]]
+= Spring Boot
+
+*Since Camel 2.15*
+
+Spring Boot component provides auto-configuration for Apache Camel. Our
+opinionated auto-configuration of the Camel context auto-detects Camel
+routes available in the Spring context and registers the key Camel
+utilities (like producer template, consumer template and the type
+converter) as beans.
+
+Maven users will need to add the following dependency to their `pom.xml`
+in order to use this component:
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.camel.springboot</groupId>
+    <artifactId>camel-spring-boot</artifactId>
+    <version>${camel.version}</version> <!-- use the same version as your 
Camel core version -->
+</dependency>
+----
+
+`camel-spring-boot` jar comes with the `spring.factories` file, so as
+soon as you add that dependency into your classpath, Spring Boot will
+automatically auto-configure Camel for you.
+
+[[SpringBoot-CamelSpringBootStarter]]
+== Camel Spring Boot Starter
+
+*Since Camel 2.17*
+
+Apache Camel ships
+a 
https://github.com/spring-projects/spring-boot/tree/master/spring-boot-project/spring-boot-starters[Spring
+Boot Starter] module that allows you to develop Spring Boot applications
+using starters. There is a
+https://github.com/apache/camel-spring-boot-examples/tree/master/camel-example-spring-boot[sample
+application] in the source code also.
+
+To use the starter, add the following to your spring boot pom.xml file:
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-spring-boot-starter</artifactId>
+    <version>${camel.version}</version> <!-- use the same version as your 
Camel core version -->
+</dependency>
+----
+
+Then you can just add classes with your Camel routes such as:
+
+[source,java]
+----
+package com.example;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.springframework.stereotype.Component;
+
+@Component
+public class MyRoute extends RouteBuilder {
+
+    @Override
+    public void configure() throws Exception {
+        from("timer:foo").to("log:bar");
+    }
+}
+----
+
+Then these routes will be started automatically.
+
+You can customize the Camel application in the `application.properties`
+or `application.yml` file. 
+
+
+// spring-boot-auto-configure options: START
+:page-partial:
+:doctitle: Camel Spring Boot Starter for spring-boot
+
+== Spring Boot Auto-Configuration
+
+When using spring-boot with Spring Boot make sure to use the following Maven 
dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel.springboot</groupId>
+  <artifactId>camel-spring-boot-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
+
+
+The component supports 173 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.cloud.enabled* | Global option to enable/disable Camel cloud support, 
default is true. | true | Boolean
+| *camel.cloud.load-balancer.enabled* | Global option to enable/disable Camel 
cloud load balancer, default is true. | true | Boolean
+| *camel.cloud.service-call.component* | The Camel component to use for 
calling the service. The default is http component. |  | String
+| *camel.cloud.service-call.default-load-balancer* | Determine if the default 
load balancer should be used instead of any auto discovered one. | false | 
Boolean
+| *camel.cloud.service-call.expression* | The expression to use. |  | String
+| *camel.cloud.service-call.expression-language* | The expression language to 
use, default is ref. | ref | String
+| *camel.cloud.service-call.load-balancer* | A reference to the 
org.apache.camel.cloud.ServiceLoadBalancer to use. |  | String
+| *camel.cloud.service-call.service-chooser* | A reference to the 
org.apache.camel.cloud.ServiceChooser to use. |  | String
+| *camel.cloud.service-call.service-discovery* | A reference to the 
org.apache.camel.cloud.ServiceDiscovery to use. |  | String
+| *camel.cloud.service-call.service-filter* | A reference to the 
org.apache.camel.cloud.ServiceFilter to use. |  | String
+| *camel.cloud.service-call.uri* | The uri of the endpoint to send to. The uri 
can be dynamic computed using the simple language expression. |  | String
+| *camel.cloud.service-chooser.enabled* | Global option to enable/disable 
Camel cloud service chooser, default is true. | true | Boolean
+| *camel.cloud.service-discovery.configurations* | Configure the service 
discovery rules. |  | Map
+| *camel.cloud.service-discovery.enabled* | Global option to enable/disable 
Camel cloud service discovery, default is true. | true | Boolean
+| *camel.cloud.service-discovery.service-definitions* | Configure static 
service discovery with distinct id, host, port, and metadata properties. |  | 
Map
+| *camel.cloud.service-discovery.services* | Configure static service 
discovery using simple host:port strings. |  | Map
+| *camel.cloud.service-filter.blacklist* | Configure service filter 
blacklists. |  | Map
+| *camel.cloud.service-filter.configurations* | Configure the service 
filtering rules. |  | Map
+| *camel.cloud.service-filter.enabled* | Global option to enable/disable Camel 
cloud service filter, default is true. | true | Boolean
+| *camel.cloud.service-registry.enabled* | Configure if service registry 
should be enabled or not, default true. | true | Boolean
+| *camel.cloud.service-registry.service-host* | Configure the service 
listening address. |  | String
+| *camel.clustered.controller.cluster-service* | The cluster service. |  | 
CamelClusterService
+| *camel.clustered.controller.enabled* | Global option to enable/disable Camel 
clustered route controller, default is false. | false | Boolean
+| *camel.clustered.controller.initial-delay* | Set the amount of time (in 
millis) the route controller should wait before to start the routes after the 
camel context is started or after the route is initialized if the route is 
created after the camel context is started. |  | String
+| *camel.clustered.controller.namespace* | The default namespace. |  | String
+| *camel.clustered.controller.routes* | Routes configuration. |  | Map
+| *camel.component.enabled* | Global option to enable/disable component 
auto-configuration, default is true. | true | Boolean
+| *camel.component.properties.auto-discover-properties-sources* | Whether to 
automatically discovery instances of PropertiesSource from registry and service 
factory. | true | Boolean
+| *camel.component.properties.default-fallback-enabled* | If false, the 
component does not attempt to find a default for the key by looking after the 
colon separator. | true | Boolean
+| *camel.component.properties.encoding* | Encoding to use when loading 
properties file from the file system or classpath. If no encoding has been set, 
then the properties files is loaded using ISO-8859-1 encoding (latin-1) as 
documented by java.util.Properties#load(java.io.InputStream) |  | String
+| *camel.component.properties.environment-variable-mode* | Sets the OS 
environment variables mode (0 = never, 1 = fallback, 2 = override). The default 
mode (override) is to use OS environment variables if present, and override any 
existing properties. OS environment variable mode is checked before JVM system 
property mode | 2 | Integer
+| *camel.component.properties.ignore-missing-location* | Whether to silently 
ignore if a location cannot be located, such as a properties file not found. | 
false | Boolean
+| *camel.component.properties.initial-properties* | Sets initial properties 
which will be used before any locations are resolved. The option is a 
java.util.Properties type. |  | String
+| *camel.component.properties.location* | A list of locations to load 
properties. You can use comma to separate multiple locations. This option will 
override any default locations and only use the locations from this option. |  
| String
+| *camel.component.properties.override-properties* | Sets a special list of 
override properties that take precedence and will use first, if a property 
exist. The option is a java.util.Properties type. |  | String
+| *camel.component.properties.properties-parser* | To use a custom 
PropertiesParser. The option is a 
org.apache.camel.component.properties.PropertiesParser type. |  | String
+| *camel.component.properties.system-properties-mode* | Sets the JVM system 
property mode (0 = never, 1 = fallback, 2 = override). The default mode 
(override) is to use system properties if present, and override any existing 
properties. OS environment variable mode is checked before JVM system property 
mode | 2 | Integer
+| *camel.dataformat.enabled* | Global option to enable/disable dataformat 
auto-configuration, default is true. | true | Boolean
+| *camel.health.config* | Additional health check properties for fine grained 
configuration of health checks. |  | Map
+| *camel.health.config.enabled* | Set if the check associated to this 
configuration is enabled or not. Is default enabled. |  | Boolean
+| *camel.health.config.failure-threshold* | Set the number of failure before 
reporting the service as un-healthy. |  | Integer
+| *camel.health.config.interval* | Set the check interval in milli seconds. |  
| Long
+| *camel.health.config.parent* | The id of the health check such as routes or 
registry (can use * as wildcard) |  | String
+| *camel.health.context-enabled* | Whether context health check is enabled Is 
default enabled |  | Boolean
+| *camel.health.enabled* | Whether health check is enabled globally |  | 
Boolean
+| *camel.health.registry-enabled* | Whether registry health check is enabled 
Is default enabled |  | Boolean
+| *camel.health.routes-enabled* | Whether routes health check is enabled Is 
default enabled |  | Boolean
+| *camel.language.enabled* | Global option to enable/disable language 
auto-configuration, default is true. | true | Boolean
+| *camel.routetemplate.config* | Route template configurations |  | List
+| *camel.springboot.allow-use-original-message* | Sets whether to allow access 
to the original message from Camel's error handler, or from 
org.apache.camel.spi.UnitOfWork.getOriginalInMessage(). Turning this off can 
optimize performance, as defensive copy of the original message is not needed. 
Default is false. | false | Boolean
+| *camel.springboot.auto-startup* | Sets whether the object should 
automatically start when Camel starts. Important: Currently only routes can be 
disabled, as CamelContext's are always started. Note: When setting auto startup 
false on CamelContext then that takes precedence and no routes is started. You 
would need to start CamelContext explicit using the 
org.apache.camel.CamelContext.start() method, to start the context, and then 
you would need to start the routes manually using Camelcon [...]
+| *camel.springboot.autowired-enabled* | Whether autowiring is enabled. This 
is used for automatic autowiring options (the option must be marked as 
autowired) by looking up in the registry to find if there is a single instance 
of matching type, which then gets configured on the component. This can be used 
for automatic configuring JDBC data sources, JMS connection factories, AWS 
Clients, etc. Default is true. | true | Boolean
+| *camel.springboot.backlog-tracing* | Sets whether backlog tracing is enabled 
or not. Default is false. | false | Boolean
+| *camel.springboot.bean-introspection-extended-statistics* | Sets whether 
bean introspection uses extended statistics. The default is false. | false | 
Boolean
+| *camel.springboot.bean-introspection-logging-level* | Sets the logging level 
used by bean introspection, logging activity of its usage. The default is 
TRACE. |  | LoggingLevel
+| *camel.springboot.bean-post-processor-enabled* | Can be used to turn off 
bean post processing. Be careful to turn this off, as this means that beans 
that use Camel annotations such as org.apache.camel.EndpointInject, 
org.apache.camel.ProducerTemplate, org.apache.camel.Produce, 
org.apache.camel.Consume etc will not be injected and in use. Turning this off 
should only be done if you are sure you do not use any of these Camel features. 
Not all runtimes allow turning this off (such as came [...]
+| *camel.springboot.case-insensitive-headers* | Whether to use case sensitive 
or insensitive headers. Important: When using case sensitive (this is set to 
false). Then the map is case sensitive which means headers such as content-type 
and Content-Type are two different keys which can be a problem for some 
protocols such as HTTP based, which rely on case insensitive headers. However 
case sensitive implementations can yield faster performance. Therefore use case 
sensitive implementation wi [...]
+| *camel.springboot.consumer-template-cache-size* | Consumer template 
endpoints cache size. | 1000 | Integer
+| *camel.springboot.dump-routes* | If dumping is enabled then Camel will 
during startup dump all loaded routes (incl rests and route templates) 
represented as XML DSL into the log. This is intended for trouble shooting or 
to assist during development. Sensitive information that may be configured in 
the route endpoints could potentially be included in the dump output and is 
therefore not recommended to be used for production usage. This requires to 
have camel-xml-jaxb on the classpath to  [...]
+| *camel.springboot.duration-max-idle-seconds* | To specify for how long time 
in seconds Camel can be idle before automatic terminating the JVM. You can use 
this to run Spring Boot for a short while. | 0 | Integer
+| *camel.springboot.duration-max-messages* | To specify how many messages to 
process by Camel before automatic terminating the JVM. You can use this to run 
Spring Boot for a short while. | 0 | Integer
+| *camel.springboot.duration-max-seconds* | To specify for how long time in 
seconds to keep running the JVM before automatic terminating the JVM. You can 
use this to run Spring Boot for a short while. | 0 | Integer
+| *camel.springboot.eager-classloading* | Whether to eager load a common set 
of Camel classes that would otherwise first be loaded on processing the first 
message. By eager loading these classes then the JVM has already loaded the 
classes during build phase, which allows Camel to process the first message 
faster. | false | Boolean
+| *camel.springboot.endpoint-bridge-error-handler* | Allows for bridging the 
consumer to the Camel routing Error Handler, which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages, or the likes, will 
now be processed as a message and handled by the routing Error Handler. <p/> By 
default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal 
with exceptions, that will be logged at WARN/ERROR level and ignored. The 
default value is false.  [...]
+| *camel.springboot.endpoint-lazy-start-producer* | Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during starting and cause the route to fail being started. 
By deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that when 
the first message is processed  [...]
+| *camel.springboot.endpoint-runtime-statistics-enabled* | Sets whether 
endpoint runtime statistics is enabled (gathers runtime usage of each incoming 
and outgoing endpoints). The default value is false. | false | Boolean
+| *camel.springboot.exchange-factory* | Controls whether to pool (reuse) 
exchanges or create new exchanges (prototype). Using pooled will reduce JVM 
garbage collection overhead by avoiding to re-create Exchange instances per 
message each consumer receives. The default is prototype mode. | default | 
String
+| *camel.springboot.exchange-factory-capacity* | The capacity the pool (for 
each consumer) uses for storing exchanges. The default capacity is 100. | 100 | 
Integer
+| *camel.springboot.exchange-factory-statistics-enabled* | Configures whether 
statistics is enabled on exchange factory. | false | Boolean
+| *camel.springboot.file-configurations* | Directory to load additional 
configuration files that contains configuration values that takes precedence 
over any other configuration. This can be used to refer to files that may have 
secret configuration that has been mounted on the file system for containers. 
You must use either file: or classpath: as prefix to load from file system or 
classpath. Then you can specify a pattern to load from sub directories and a 
name pattern such as file:/var/ [...]
+| *camel.springboot.global-options* | Sets global options that can be 
referenced in the camel context Important: This has nothing to do with property 
placeholders, and is just a plain set of key/value pairs which are used to 
configure global options on CamelContext, such as a maximum debug logging 
length etc. |  | Map
+| *camel.springboot.include-non-singletons* | Whether to include non-singleton 
beans (prototypes) when scanning for RouteBuilder instances. By default only 
singleton beans is included in the context scan. | false | Boolean
+| *camel.springboot.inflight-repository-browse-enabled* | Sets whether the 
inflight repository should allow browsing each inflight exchange. This is by 
default disabled as there is a very slight performance overhead when enabled. | 
false | Boolean
+| *camel.springboot.java-routes-exclude-pattern* | Used for exclusive 
filtering RouteBuilder classes which are collected from the registry or via 
classpath scanning. The exclusive filtering takes precedence over inclusive 
filtering. The pattern is using Ant-path style pattern. Multiple patterns can 
be specified separated by comma. For example to exclude all classes starting 
with Bar use: &#42;&#42;/Bar&#42; To exclude all routes form a specific package 
use: com/mycompany/bar/&#42; To exc [...]
+| *camel.springboot.java-routes-include-pattern* | Used for inclusive 
filtering RouteBuilder classes which are collected from the registry or via 
classpath scanning. The exclusive filtering takes precedence over inclusive 
filtering. The pattern is using Ant-path style pattern. Multiple patterns can 
be specified separated by comma. Multiple patterns can be specified separated 
by comma. For example to include all classes starting with Foo use: 
&#42;&#42;/Foo* To include all routes form a s [...]
+| *camel.springboot.jmx-enabled* | Enable JMX in your Camel application. | 
true | Boolean
+| *camel.springboot.jmx-management-name-pattern* | The naming pattern for 
creating the CamelContext JMX management name. The default pattern is #name# | 
#name# | String
+| *camel.springboot.jmx-management-statistics-level* | Sets the JMX statistics 
level The level can be set to Extended to gather additional information The 
default value is Default. |  | ManagementStatisticsLevel
+| *camel.springboot.lightweight* | Experimental: Configure the context to be 
lightweight. This will trigger some optimizations and memory reduction options. 
Lightweight context has some limitations. At this moment, dynamic endpoint 
destinations are not supported. | false | Boolean
+| *camel.springboot.load-type-converters* | Whether to load custom type 
converters by scanning classpath. This is used for backwards compatibility with 
Camel 2.x. Its recommended to migrate to use fast type converter loading by 
setting <tt>@Converter(generateLoader = true)</tt> on your custom type 
converter classes. | true | Boolean
+| *camel.springboot.log-debug-max-chars* | Is used to limit the maximum length 
of the logging Camel message bodies. If the message body is longer than the 
limit, the log message is clipped. Use -1 to have unlimited length. Use for 
example 1000 to log at most 1000 characters. | 0 | Integer
+| *camel.springboot.log-exhausted-message-body* | Sets whether to log 
exhausted message body with message history. Default is false. | false | Boolean
+| *camel.springboot.log-mask* | Sets whether log mask is enabled or not. 
Default is false. | false | Boolean
+| *camel.springboot.main-run-controller* | Whether to use the main run 
controller to ensure the Spring-Boot application keeps running until being 
stopped or the JVM terminated. You typically only need this if you run 
Spring-Boot standalone. If you run Spring-Boot with spring-boot-starter-web 
then the web container keeps the JVM running. | false | Boolean
+| *camel.springboot.mdc-logging-keys-pattern* | Sets the pattern used for 
determining which custom MDC keys to propagate during message routing when the 
routing engine continues routing asynchronously for the given message. Setting 
this pattern to * will propagate all custom keys. Or setting the pattern to 
foo*,bar* will propagate any keys starting with either foo or bar. Notice that 
a set of standard Camel MDC keys are always propagated which starts with camel. 
as key name. The match ru [...]
+| *camel.springboot.message-history* | Sets whether message history is enabled 
or not. Default is true. | true | Boolean
+| *camel.springboot.name* | Sets the name of the CamelContext. |  | String
+| *camel.springboot.producer-template-cache-size* | Producer template 
endpoints cache size. | 1000 | Integer
+| *camel.springboot.route-controller-back-off-delay* | Backoff delay in millis 
when restarting a route that failed to startup. | 2000 | Long
+| *camel.springboot.route-controller-back-off-max-attempts* | Backoff maximum 
number of attempts to restart a route that failed to startup. When this 
threshold has been exceeded then the controller will give up attempting to 
restart the route, and the route will remain as stopped. | 0 | Long
+| *camel.springboot.route-controller-back-off-max-delay* | Backoff maximum 
delay in millis when restarting a route that failed to startup. | 0 | Long
+| *camel.springboot.route-controller-back-off-max-elapsed-time* | Backoff 
maximum elapsed time in millis, after which the backoff should be considered 
exhausted and no more attempts should be made. | 0 | Long
+| *camel.springboot.route-controller-back-off-multiplier* | Backoff multiplier 
to use for exponential backoff. This is used to extend the delay between 
restart attempts. | 1 | Double
+| *camel.springboot.route-controller-exclude-routes* | Pattern for filtering 
routes to be included as supervised. The pattern is matching on route id, and 
endpoint uri for the route. Multiple patterns can be separated by comma. For 
example to include all kafka routes, you can say <tt>kafka:*</tt>. And to 
include routes with specific route ids <tt>myRoute,myOtherRoute</tt>. The 
pattern supports wildcards and uses the matcher from 
org.apache.camel.support.PatternHelper#matchPattern. |  | String
+| *camel.springboot.route-controller-include-routes* | Pattern for filtering 
routes to be excluded as supervised. The pattern is matching on route id, and 
endpoint uri for the route. Multiple patterns can be separated by comma. For 
example to exclude all JMS routes, you can say <tt>jms:*</tt>. And to exclude 
routes with specific route ids <tt>mySpecialRoute,myOtherSpecialRoute</tt>. The 
pattern supports wildcards and uses the matcher from 
org.apache.camel.support.PatternHelper#matchPatte [...]
+| *camel.springboot.route-controller-initial-delay* | Initial delay in milli 
seconds before the route controller starts, after CamelContext has been 
started. | 0 | Long
+| *camel.springboot.route-controller-supervise-enabled* | To enable using 
supervising route controller which allows Camel to startup and then the 
controller takes care of starting the routes in a safe manner. This can be used 
when you want to startup Camel despite a route may otherwise fail fast during 
startup and cause Camel to fail to startup as well. By delegating the route 
startup to the supervising route controller then it manages the startup using a 
background thread. The controlle [...]
+| *camel.springboot.route-controller-thread-pool-size* | The number of threads 
used by the route controller scheduled thread pool that are used for restarting 
routes. The pool uses 1 thread by default, but you can increase this to allow 
the controller to concurrently attempt to restart multiple routes in case more 
than one route has problems starting. | 1 | Integer
+| *camel.springboot.route-controller-unhealthy-on-exhausted* | Whether to mark 
the route as unhealthy (down) when all restarting attempts (backoff) have 
failed and the route is not successfully started and the route manager is 
giving up. Setting this to true allows health checks to know about this and can 
report the Camel application as DOWN. The default is false. | false | Boolean
+| *camel.springboot.route-filter-exclude-pattern* | Used for filtering routes 
routes matching the given pattern, which follows the following rules: - Match 
by route id - Match by route input endpoint uri The matching is using exact 
match, by wildcard and regular expression. For example to only include routes 
which starts with foo in their route id's, use: include=foo&#42; And to exclude 
routes which starts from JMS endpoints, use: exclude=jms:&#42; Multiple 
patterns can be separated by c [...]
+| *camel.springboot.route-filter-include-pattern* | Used for filtering routes 
matching the given pattern, which follows the following rules: - Match by route 
id - Match by route input endpoint uri The matching is using exact match, by 
wildcard and regular expression. For example to only include routes which 
starts with foo in their route id's, use: include=foo&#42; And to exclude 
routes which starts from JMS endpoints, use: exclude=jms:&#42; Multiple 
patterns can be separated by comma, f [...]
+| *camel.springboot.routes-collector-enabled* | Whether the routes collector 
is enabled or not. When enabled Camel will auto-discover routes (RouteBuilder 
instances from the registry and also load additional routes from the file 
system). The routes collector is default enabled. | true | Boolean
+| *camel.springboot.routes-exclude-pattern* | Used for exclusive filtering of 
routes from directories. The exclusive filtering takes precedence over 
inclusive filtering. The pattern is using Ant-path style pattern. Multiple 
patterns can be specified separated by comma, as example, to exclude all the 
routes from a directory whose name contains foo use: &#42;&#42;/*foo*. |  | 
String
+| *camel.springboot.routes-include-pattern* | Used for inclusive filtering of 
routes from directories. The exclusive filtering takes precedence over 
inclusive filtering. The pattern is using Ant-path style pattern. Multiple 
patterns can be specified separated by comma, as example, to include all the 
routes from a directory whose name contains foo use: &#42;&#42;/*foo*. | 
classpath:camel/*,classpath:camel-template/*,classpath:camel-rest/* | String
+| *camel.springboot.shutdown-log-inflight-exchanges-on-timeout* | Sets whether 
to log information about the inflight Exchanges which are still running during 
a shutdown which didn't complete without the given timeout. This requires to 
enable the option inflightRepositoryExchangeEnabled. | true | Boolean
+| *camel.springboot.shutdown-now-on-timeout* | Sets whether to force shutdown 
of all consumers when a timeout occurred and thus not all consumers was 
shutdown within that period. You should have good reasons to set this option to 
false as it means that the routes keep running and is halted abruptly when 
CamelContext has been shutdown. | true | Boolean
+| *camel.springboot.shutdown-routes-in-reverse-order* | Sets whether routes 
should be shutdown in reverse or the same order as they where started. | true | 
Boolean
+| *camel.springboot.shutdown-suppress-logging-on-timeout* | Whether Camel 
should try to suppress logging during shutdown and timeout was triggered, 
meaning forced shutdown is happening. And during forced shutdown we want to 
avoid logging errors/warnings et all in the logs as a side-effect of the forced 
timeout. Notice the suppress is a best effort as there may still be some logs 
coming from 3rd party libraries and whatnot, which Camel cannot control. This 
option is default false. | false [...]
+| *camel.springboot.shutdown-timeout* | Timeout in seconds to graceful 
shutdown Camel. | 300 | Integer
+| *camel.springboot.startup-recorder* | To use startup recorder for capturing 
execution time during starting Camel. The recorder can be one of: false (or 
off), logging, java-flight-recorder (or jfr). |  | String
+| *camel.springboot.startup-recorder-dir* | Directory to store the recording. 
By default the user home directory will be used. Use false to turn off saving 
recording to disk. |  | String
+| *camel.springboot.startup-recorder-duration* | How long time to run the 
startup recorder. Use 0 (default) to keep the recorder running until the JVM is 
exited. Use -1 to stop the recorder right after Camel has been started (to only 
focus on potential Camel startup performance bottlenecks) Use a positive value 
to keep recording for N seconds. When the recorder is stopped then the 
recording is auto saved to disk (note: save to disk can be disabled by setting 
startupRecorderDir to false)  [...]
+| *camel.springboot.startup-recorder-max-depth* | To filter our sub steps at a 
maximum depth. Use -1 for no maximum. Use 0 for no sub steps. Use 1 for max 1 
sub step, and so forth. The default is -1. | -1 | Integer
+| *camel.springboot.startup-recorder-profile* | To use a specific Java Flight 
Recorder profile configuration, such as default or profile. The default is 
default. | default | String
+| *camel.springboot.startup-recorder-recording* | To enable Java Flight 
Recorder to start a recording and automatic dump the recording to disk after 
startup is complete. This requires that camel-jfr is on the classpath, and to 
enable this option. | false | Boolean
+| *camel.springboot.startup-summary-level* | Controls the level of information 
logged during startup (and shutdown) of CamelContext. |  | StartupSummaryLevel
+| *camel.springboot.stream-caching-any-spool-rules* | Sets whether if just any 
of the org.apache.camel.spi.StreamCachingStrategy.SpoolRule rules returns true 
then shouldSpoolCache(long) returns true, to allow spooling to disk. If this 
option is false, then all the 
org.apache.camel.spi.StreamCachingStrategy.SpoolRule must return true. The 
default value is false which means that all the rules must return true. | false 
| Boolean
+| *camel.springboot.stream-caching-buffer-size* | Sets the stream caching 
buffer size to use when allocating in-memory buffers used for in-memory stream 
caches. The default size is 4096. | 0 | Integer
+| *camel.springboot.stream-caching-enabled* | Sets whether stream caching is 
enabled or not. Default is false. | false | Boolean
+| *camel.springboot.stream-caching-remove-spool-directory-when-stopping* | 
Whether to remove stream caching temporary directory when stopping. This option 
is default true. | true | Boolean
+| *camel.springboot.stream-caching-spool-cipher* | Sets a stream caching 
cipher name to use when spooling to disk to write with encryption. By default 
the data is not encrypted. |  | String
+| *camel.springboot.stream-caching-spool-directory* | Sets the stream caching 
spool (temporary) directory to use for overflow and spooling to disk. If no 
spool directory has been explicit configured, then a temporary directory is 
created in the java.io.tmpdir directory. |  | String
+| *camel.springboot.stream-caching-spool-threshold* | Stream caching threshold 
in bytes when overflow to disk is activated. The default threshold is 128kb. 
Use -1 to disable overflow to disk. | 0 | Long
+| *camel.springboot.stream-caching-spool-used-heap-memory-limit* | Sets what 
the upper bounds should be when streamCachingSpoolUsedHeapMemoryThreshold is in 
use. |  | String
+| *camel.springboot.stream-caching-spool-used-heap-memory-threshold* | Sets a 
percentage (1-99) of used heap memory threshold to activate stream caching 
spooling to disk. | 0 | Integer
+| *camel.springboot.stream-caching-statistics-enabled* | Sets whether stream 
caching statistics is enabled. | false | Boolean
+| *camel.springboot.thread-name-pattern* | Sets the thread name pattern used 
for creating the full thread name. The default pattern is: Camel (#camelId#) 
thread ##counter# - #name# Where #camelId# is the name of the CamelContext. and 
#counter# is a unique incrementing counter. and #name# is the regular thread 
name. You can also use #longName# which is the long thread name which can 
includes endpoint parameters etc. |  | String
+| *camel.springboot.tracing* | Sets whether tracing is enabled or not. Default 
is false. | false | Boolean
+| *camel.springboot.tracing-pattern* | Tracing pattern to match which node 
EIPs to trace. For example to match all To EIP nodes, use to*. The pattern 
matches by node and route id's Multiple patterns can be separated by comma. |  
| String
+| *camel.springboot.use-breadcrumb* | Set whether breadcrumb is enabled. The 
default value is false. | false | Boolean
+| *camel.springboot.use-data-type* | Whether to enable using data type on 
Camel messages. Data type are automatic turned on if one or more routes has 
been explicit configured with input and output types. Otherwise data type is 
default off. | false | Boolean
+| *camel.springboot.use-mdc-logging* | To turn on MDC logging | false | Boolean
+| *camel.springboot.uuid-generator* | UUID generator to use. default (32 
bytes), short (16 bytes), classic (32 bytes or longer), simple (long 
incrementing counter), off (turned off for exchanges - only intended for 
performance profiling) | default | String
+| *camel.springboot.warn-on-early-shutdown* | Whether to log a WARN if Camel 
on Spring Boot was immediately shutdown after starting which very likely is 
because there is no JVM thread to keep the application running. | true | Boolean
+| *camel.ssl.cert-alias* | An optional certificate alias to use. This is 
useful when the keystore has multiple certificates. |  | String
+| *camel.ssl.cipher-suites* | The optional explicitly configured cipher suites 
for this configuration. |  | CipherSuitesParameters
+| *camel.ssl.cipher-suites-filter* | The optional cipher suite filter 
configuration for this configuration. |  | FilterParameters
+| *camel.ssl.client-parameters* | The optional configuration options to be 
applied purely to the client side settings of the SSLContext. Settings 
specified here override any duplicate settings provided at the overall level by 
this class. These parameters apply to SSLSocketFactory and SSLEngine produced 
by the SSLContext produced from this class as well as to the SSLContext itself. 
|  | SSLContextClientParameters
+| *camel.ssl.config* | Global Camel security configuration. |  | 
SSLContextParameters
+| *camel.ssl.key-managers* | The optional key manager configuration for 
creating the KeyManager used in constructing an SSLContext. |  | 
KeyManagersParameters
+| *camel.ssl.provider* | The optional provider identifier for the JSSE 
implementation to use when constructing an SSLContext. |  | String
+| *camel.ssl.secure-random* | The optional secure random configuration options 
to use for constructing the SecureRandom used in the creation of an SSLContext. 
|  | SecureRandomParameters
+| *camel.ssl.secure-socket-protocol* | The optional protocol for the secure 
sockets created by the SSLContext represented by this instance's configuration. 
See Appendix A in the Java Secure Socket Extension Reference Guide for 
information about standard protocol names. |  | String
+| *camel.ssl.secure-socket-protocols* | The optional explicitly configured 
secure socket protocol names for this configuration. |  | 
SecureSocketProtocolsParameters
+| *camel.ssl.secure-socket-protocols-filter* | The option secure socket 
protocol name filter configuration for this configuration. |  | FilterParameters
+| *camel.ssl.server-parameters* | The optional configuration options to be 
applied purely to the server side settings of the SSLContext. Settings 
specified here override any duplicate settings provided at the overall level by 
this class. These parameters apply to SSLServerSocketFactory and SSLEngine 
produced by the SSLContext produced from this class as well as to the 
SSLContext itself. |  | SSLContextServerParameters
+| *camel.ssl.session-timeout* | The optional SSLSessionContext timeout time 
for javax.net.ssl.SSLSession in seconds. |  | String
+| *camel.ssl.trust-managers* | The optional trust manager configuration for 
creating the TrustManager used in constructing an SSLContext. |  | 
TrustManagersParameters
+| *camel.threadpool.allow-core-thread-time-out* | Sets default whether to 
allow core threads to timeout |  | Boolean
+| *camel.threadpool.config* | Adds a configuration for a specific thread pool 
profile (inherits default values) |  | Map
+| *camel.threadpool.config.allow-core-thread-time-out* | Sets whether to allow 
core threads to timeout |  | Boolean
+| *camel.threadpool.config.id* | Sets the id of this thread pool |  | String
+| *camel.threadpool.config.keep-alive-time* | Sets the keep alive time for 
inactive threads |  | Long
+| *camel.threadpool.config.max-pool-size* | Sets the maximum pool size |  | 
Integer
+| *camel.threadpool.config.max-queue-size* | Sets the maximum number of tasks 
in the work queue. Use -1 or an unbounded queue |  | Integer
+| *camel.threadpool.config.pool-size* | Sets the core pool size (threads to 
keep minimum in pool) |  | Integer
+| *camel.threadpool.config.rejected-policy* | Sets the handler for tasks which 
cannot be executed by the thread pool. |  | ThreadPoolRejectedPolicy
+| *camel.threadpool.config.time-unit* | Sets the time unit used for keep alive 
time |  | TimeUnit
+| *camel.threadpool.keep-alive-time* | Sets the default keep alive time for 
inactive threads |  | Long
+| *camel.threadpool.max-pool-size* | Sets the default maximum pool size |  | 
Integer
+| *camel.threadpool.max-queue-size* | Sets the default maximum number of tasks 
in the work queue. Use -1 or an unbounded queue |  | Integer
+| *camel.threadpool.pool-size* | Sets the default core pool size (threads to 
keep minimum in pool) |  | Integer
+| *camel.threadpool.rejected-policy* | Sets the default handler for tasks 
which cannot be executed by the thread pool. |  | ThreadPoolRejectedPolicy
+| *camel.threadpool.time-unit* | Sets the default time unit used for keep 
alive time |  | TimeUnit
+| *management.endpoint.camelroutecontroller.cache.time-to-live* | Maximum time 
that a response can be cached. | 0ms | Duration
+| *management.endpoint.camelroutecontroller.enabled* | To turn on or off 
information about Camel Route Controller via actuator endpoint. | true | Boolean
+| *management.endpoint.camelroutes.cache.time-to-live* | Maximum time that a 
response can be cached. | 0ms | Duration
+| *management.endpoint.camelroutes.enabled* | To turn on or off information 
about Camel Routes via actuator endpoint. | true | Boolean
+| *management.endpoint.camelroutes.enabled* | Whether to enable the 
camelroutes endpoint. | true | Boolean
+| *management.endpoint.camelroutes.enabled* |  | false | Boolean
+| *management.endpoint.camelroutes.read-only* | Whether Camel Routes actuator 
is in read-only mode. If not in read-only mode then operations to start/stop 
routes would be enabled. | true | Boolean
+| *management.info.camel.enabled* | Whether to enable Camel info. | true | 
Boolean
+| *camel.springboot.route-controller-logging-level* | *Deprecated* Sets the 
logging level used for logging route activity (such as starting and stopping 
routes). The default logging level is DEBUG. |  | LoggingLevel
+|===
+// spring-boot-auto-configure options: END
+
+[[SpringBoot-Auto-configuredCamelcontext]]
+== Auto-configured Camel context
+
+The most important piece of functionality provided by the Camel
+auto-configuration is `CamelContext` instance.
+Camel auto-configuration creates a `SpringCamelContext` for you and
+takes care of the proper initialization and shutdown of that context.
+The created Camel context is also registered in the Spring application
+context (under `camelContext` bean name), so you can access it just as
+ any other Spring bean.
+
+[source,java]
+----
+@Configuration
+public class MyAppConfig {
+
+  @Autowired
+  CamelContext camelContext;
+
+  @Bean
+  MyService myService() {
+    return new DefaultMyService(camelContext);
+  }
+
+}
+----
+
+[[SpringBoot-Auto-detectingCamelroutes]]
+== Auto-detecting Camel routes
+
+Camel auto-configuration collects all the `RouteBuilder` instances from
+the Spring context and automatically injects them into the provided
+`CamelContext`. That means that creating new Camel route with the Spring
+Boot starter is as simple as adding the `@Component` annotated class to
+your classpath:
+
+[source,java]
+----
+@Component
+public class MyRouter extends RouteBuilder {
+
+  @Override
+  public void configure() throws Exception {
+    from("jms:invoices").to("file:/invoices");
+  }
+
+}
+----
+
+Or creating a new route `RouteBuilder` bean in your `@Configuration` class:
+
+[source,java]
+----
+@Configuration
+public class MyRouterConfiguration {
+
+  @Bean
+  RoutesBuilder myRouter() {
+    return new RouteBuilder() {
+
+      @Override
+      public void configure() throws Exception {
+        from("jms:invoices").to("file:/invoices");
+      }
+
+    };
+  }
+
+}
+----
+
+[[SpringBoot-Camelproperties]]
+== Camel properties
+
+Spring Boot auto-configuration automatically connects
+to 
http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config[Spring
+Boot external configuration] (like properties placeholders, OS
+environment variables or system properties) with
+the Camel properties support. It basically means
+that any property defined in `application.properties` file:  
+
+[source,text]
+----
+route.from = jms:invoices
+----
+
+Or set via system property:
+
+[source,text]
+----
+java -Droute.to=jms:processed.invoices -jar mySpringApp.jar
+----
+
+...can be used as placeholders in Camel route:
+
+[source,java]
+----
+@Component
+public class MyRouter extends RouteBuilder {
+
+  @Override
+  public void configure() throws Exception {
+    from("{{route.from}}").to("{{route.to}}");
+  }
+
+}
+----
+
+[[SpringBoot-CustomCamelcontextconfiguration]]
+== Custom Camel context configuration
+
+If you would like to perform some operations on `CamelContext` bean
+created by Camel auto-configuration,
+register `CamelContextConfiguration` instance in your Spring context:
+
+[source,java]
+----
+@Configuration
+public class MyAppConfig {
+
+  @Bean
+  CamelContextConfiguration contextConfiguration() {
+    return new CamelContextConfiguration() {
+      @Override
+      void beforeApplicationStart(CamelContext context) {
+        // your custom configuration goes here
+      }
+    };
+  }
+
+}
+----
+
+Method beforeApplicationStart` will
+be called just before the Spring context is started, so the
+`CamelContext` instance passed to this callback is
+fully auto-configured. You can add many instances of
+`CamelContextConfiguration` into your Spring context - all of them will
+be executed.
+
+[[SpringBoot-DisablingJMX]]
+== Disabling JMX
+
+To disable JMX of the auto-configured `CamelContext` use
+`camel.springboot.jmxEnabled` property (JMX is enabled by default). For
+example you could add the following property to your
+`application.properties` file:
+
+[source,text]
+----
+camel.springboot.jmx-enabled = false
+----
+
+[[SpringBoot-Auto-configuredconsumerandproducertemplates]]
+== Auto-configured consumer and producer templates
+
+Camel auto-configuration provides pre-configured `ConsumerTemplate` and
+`ProducerTemplate` instances. You can simply inject them into your
+Spring-managed beans:
+
+[source,java]
+----
+@Component
+public class InvoiceProcessor {
+
+  @Autowired
+  private ProducerTemplate producerTemplate;
+
+  @Autowired
+  private ConsumerTemplate consumerTemplate;
+
+  public void processNextInvoice() {
+    Invoice invoice = consumerTemplate.receiveBody("jms:invoices", 
Invoice.class);
+    ...
+    producerTemplate.sendBody("netty-http:http://invoicing.com/received/"; + 
invoice.id());
+  }
+
+}
+----
+
+By default consumer templates and producer templates come with the
+endpoint cache sizes set to 1000. You can change those values via the
+following Spring properties:
+
+[source,text]
+----
+camel.springboot.consumer-template-cache-size = 100
+camel.springboot.producer-template-cache-size = 200
+----
+
+[[SpringBoot-Auto-configuredTypeConverter]]
+== Auto-configured TypeConverter
+
+Camel auto-configuration registers a `TypeConverter` instance named
+`typeConverter` in the Spring context.
+
+[source,java]
+----
+@Component
+public class InvoiceProcessor {
+
+  @Autowired
+  private TypeConverter typeConverter;
+
+  public long parseInvoiceValue(Invoice invoice) {
+    String invoiceValue = invoice.grossValue();
+    return typeConverter.convertTo(Long.class, invoiceValue);
+  }
+
+}
+----
+
+[[SpringBoot-SpringtypeconversionAPIbridge]]
+=== Spring type conversion API bridge
+
+Spring comes with
+the powerful 
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/validation.html#core-convert[type
+conversion API]. Spring API happens to be very similar to the Camel
+type converter API. As those APIs are so
+similar, Camel Spring Boot automatically registers a bridge converter
+(`SpringTypeConverter`) that delegates to the Spring conversion API.That
+means that out-of-the-box Camel will treat Spring Converters like Camel
+ones. With this approach you can enjoy both Camel and Spring converters
+accessed via Camel `TypeConverter` API:
+
+[source,java]
+----
+@Component
+public class InvoiceProcessor {
+
+  @Autowired
+  private TypeConverter typeConverter;
+
+  public UUID parseInvoiceId(Invoice invoice) {
+    // Using Spring's StringToUUIDConverter
+    UUID id = invoice.typeConverter.convertTo(UUID.class, invoice.getId());
+  }
+
+}
+----
+
+Under the hood Camel Spring Boot delegates conversion to the Spring's
+`ConversionService` instances available in the application context. If
+no `ConversionService` instance is available, Camel Spring Boot
+auto-configuration will create one for you.
+
+[[SpringBoot-Disablingtypeconversionsfeatures]]
+== Disabling type conversions features
+
+If you don't want Camel Spring Boot to register type-conversions related
+features (like `TypeConverter` instance or Spring bridge) set the
+`camel.springboot.type-conversion` property to `false`.
+
+[source,text]
+----
+camel.springboot.type-conversion = false
+----
+
+
+[[SpringBoot-Keepingapplicationalive]]
+== Keeping the application alive
+
+Camel applications having this feature enabled launch a new thread on startup 
for the sole purpose of
+keeping the application alive by preventing JVM termination.
+It means that after you start a Camel application with Spring Boot, your
+application waits for a Ctrl+C signal and does not exit immediately.
+
+The controller thread can be activated using the 
`camel.springboot.main-run-controller` to `true`.
+
+[source,text]
+----
+camel.springboot.main-run-controller = true
+----
+
+Applications using web modules (e.g. importing the 
`org.springframework.boot:spring-boot-web-starter` module),
+usually don't need to use this feature because the application is kept alive 
by the presence of other non-daemon threads.
+
+[[SpringBoot-AddingXMLroutes]]
+== Adding XML routes
+
+By default you can put Camel XML routes in the classpath under the
+directory camel, which camel-spring-boot will auto detect and include.
+You can configure the directory name or turn
+this off using the configuration option
+
+[source,text]
+----
+// turn off
+camel.springboot.xml-routes = false
+// scan in the com/foo/routes classpath
+camel.springboot.xml-routes = classpath:com/foo/routes/*.xml
+----
+
+The XML files should be Camel XML routes (not CamelContext) such as
+
+[source,xml]
+----
+<routes xmlns="http://camel.apache.org/schema/spring";>
+    <route id="test">
+        <from uri="timer://trigger"/>
+        <transform>
+            <simple>ref:myBean</simple>
+        </transform>
+        <to uri="log:out"/>
+    </route>
+</routes>
+----
+
+[[SpringBoot-AddingREST]]
+== Adding XML Rest-DSL
+
+By default you can put Camel Rest-DSL XML routes in the classpath under the
+directory camel-rest, which camel-spring-boot will auto detect and include.
+You can configure the directory name or turn this off using the configuration 
option
+
+[source,text]
+----
+// turn off
+camel.springboot.xml-rests = false
+// scan in the com/foo/routes classpath
+camel.springboot.xml-rests = classpath:com/foo/rests/*.xml
+----
+
+The Rest-DSL XML files should be Camel XML rests (not CamelContext) such as
+
+[source,xml]
+----
+<rests xmlns="http://camel.apache.org/schema/spring";>
+  <rest>
+     <post uri="/persons">
+        <to uri="direct:postPersons"/>
+     </post>
+     <get uri="/persons">
+        <to uri="direct:getPersons"/>
+     </get>
+     <get uri="/persons/{personId}">
+         <to uri="direct:getPersionId"/>
+     </get>
+     <put uri="/persons/{personId}">
+         <to uri="direct:putPersionId"/>
+     </put>
+     <delete uri="/persons/{personId}">
+         <to uri="direct:deletePersionId"/>
+     </delete>
+  </rest>
+</rests>
+----
+
+[[SpringBoot-Testing]]
+== Testing the JUnit 4 way
+For testing, Maven users will need to add the following dependencies to their 
`pom.xml`:
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.springframework.boot</groupId>
+    <artifactId>spring-boot-starter-test</artifactId>
+    <version>${spring-boot.version}</version> <!-- Use the same version as 
your Spring Boot version -->
+    <scope>test</scope>
+</dependency>
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-test-spring</artifactId>
+    <version>${camel.version}</version> <!-- use the same version as your 
Camel core version -->
+    <scope>test</scope>
+</dependency>
+----
+
+To test a Camel Spring Boot application, annotate your test class(es) with
+`@RunWith(CamelSpringBootRunner.class)`. This brings Camel's Spring Test
+support to your application, so that you can write tests using
+https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html[Spring
 Boot test conventions].
+
+To get the `CamelContext` or `ProducerTemplate`, you can inject them into the 
class in the normal Spring manner, using `@Autowired`.
+
+You can also use 
xref:components:others:test-spring-junit5.adoc[camel-test-spring-junit5] to 
configure tests declaratively. This example uses the `@MockEndpoints` 
annotation to auto-mock an endpoint:
+
+[source,java]
+----
+@RunWith(CamelSpringBootRunner.class)
+@SpringBootTest
+@MockEndpoints("direct:end")
+public class MyApplicationTest {
+
+    @Autowired
+    private ProducerTemplate template;
+
+    @EndpointInject("mock:direct:end")
+    MockEndpoint mock;
+
+    @Test
+    public void testReceive() throws Exception {
+        mock.expectedBodiesReceived("Hello");
+        template.sendBody("direct:start", "Hello");
+        mock.assertIsSatisfied();
+    }
+
+}
+----
+== Testing the JUnit 5 way
+For testing, Maven users will need to add the following dependencies to their 
`pom.xml`:
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.springframework.boot</groupId>
+    <artifactId>spring-boot-starter-test</artifactId>
+    <version>${spring-boot.version}</version> <!-- Use the same version as 
your Spring Boot version -->
+    <scope>test</scope>
+</dependency>
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-test-spring-junit5</artifactId>
+    <version>${camel.version}</version> <!-- use the same version as your 
Camel core version -->
+    <scope>test</scope>
+</dependency>
+----
+
+To test a Camel Spring Boot application, annotate your test class(es) with
+`@CamelSpringBootTest`. This brings Camel's Spring Test
+support to your application, so that you can write tests using
+https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html[Spring
 Boot test conventions].
+
+To get the `CamelContext` or `ProducerTemplate`, you can inject them into the 
class in the normal Spring manner, using `@Autowired`.
+
+You can also use 
xref:components:others:test-spring-junit5.adoc[camel-test-spring-junit5] to 
configure tests declaratively. This example uses the `@MockEndpoints` 
annotation to auto-mock an endpoint:
+
+[source,java]
+----
+@CamelSpringBootTest
+@SpringBootApplication
+@MockEndpoints("direct:end")
+public class MyApplicationTest {
+
+    @Autowired
+    private ProducerTemplate template;
+
+    @EndpointInject("mock:direct:end")
+    private MockEndpoint mock;
+
+    @Test
+    public void testReceive() throws Exception {
+        mock.expectedBodiesReceived("Hello");
+        template.sendBody("direct:start", "Hello");
+        mock.assertIsSatisfied();
+    }
+
+}
+----

Reply via email to